HedgeDoc
CVE-2026-58486
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege note-creation access
-
DeliveryAuthor note with 10-level YAML alias bomb in frontmatter
-
ExploitStore/publish note (/s/<shortid> or opengraph key)
-
ExecutionHTTP request triggers js-yaml alias expansion
-
PersistEvent loop blocked ~235 seconds per request
-
ImpactInstance hangs and drops all concurrent users
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must be able to store a note on the target instance (CVSS PR:L indicates a low-privilege/authenticated actor, though deployments that permit anonymous note creation lower this bar), and the note's frontmatter must contain a nested YAML anchor/alias structure (the description cites a ten-level alias bomb). Triggering then requires only an HTTP request to the note's publish view /s/<shortid>; the editor view /<noteId> is also affected when the payload is placed under the opengraph key. Limiting factors: exploitation is confined to HedgeDoc versions prior to 1.11.0, requires the ability to create/persist a note rather than pure unauthenticated access, and needs no interaction from any victim. There is no confidentiality or integrity impact - the outcome is availability loss only. |
| Impact | The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N, VA:H/SA:H, score 8.3) portrays a network-reachable, low-complexity, low-privilege attack with high availability impact and no confidentiality or integrity impact - consistent with a pure DoS. There is no EPSS score, KEV listing, or public POC in the supplied data, so exploitation is not confirmed in the wild; however, the technical detail (a ~235-second event-loop stall per request that defeats the toobusy-js safeguard, which cannot respond because the loop saturates first) shows the bug is reliably and cheaply triggerable once an attacker can store a note. The standout risk factor is persistence: the malicious note lives in the database and survives restarts, so a single successful write causes a durable outage rather than a transient spike - this raises real-world priority above a typical reflected DoS. Because there is no data compromise, priority should be weighed against how exposed the publish endpoint is and whether note creation is open to anonymous or low-trust users on a given deployment. |
| Exploit ScenarioDerived | An attacker with permission to create a note authors one whose YAML frontmatter contains a ten-level anchor/alias bomb, then requests the note's publish URL (/s/<shortid>). Each such request expands the payload into a huge object and blocks the Node.js event loop for about 235 seconds, hanging or dropping all concurrent users' requests; leaving the stored note in place keeps the instance down across restarts. No public exploit code has been identified, but the payload is trivial to construct from the advisory description. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 13, 2026
Denial of service in HedgeDoc before 1.11.0 lets a user who can store a note crash the instance by embedding a YAML "alias bomb" in the note frontmatter. Because HedgeDoc parsed frontmatter with the unsafe js-yaml v3 load (via @hedgedoc/meta-marked) and resolved anchor aliases, a compact ten-level payload expands into a massive object that blocks the single Node.js event loop for roughly 235 seconds on every request to the publish view (/s/<shortid>) or, under the opengraph key, the editor view (/<noteId>). No public exploit has been identified at time of analysis and the flaw is not in CISA KEV, but the stored payload persists in the database and re-triggers after process restarts, making outages durable until the note is deleted.
RemediationAI
Vendor-released patch: 1.11.0 - upgrade all HedgeDoc instances to 1.11.0 or later, which replaces js-yaml v3 with v4 and constrains parsed frontmatter via constrain-object (maxDepth:4, onCycle:'omit'), per commit c489497 and advisory GHSA-qj78-mjch-wwrv. If you cannot upgrade immediately, reduce exposure by restricting who can create or store notes (for example, tighten the anonymous/freeURL permission level so only trusted authenticated users can author notes), since exploitation requires a stored note; this trades off open or anonymous usage. You can also place the instance behind a reverse proxy that rate-limits and enforces short request timeouts on /s/<shortid> and /<noteId> so a single blocking request is cut off sooner, and audit existing stored notes for oversized or anchor/alias-laden frontmatter and delete offending notes (necessary because the payload persists across restarts). Note that toobusy-js is not a reliable control here, as the event loop saturates before the middleware can respond.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-400 (uncontrolled resource consumption) arising from unsafe YAML deserialization. HedgeDoc extracts note metadata by feeding the frontmatter block to js-yaml v3's load() through the @hedgedoc/meta-marked wrapper. js-yaml supports YAML anchors (&x) and aliases (*x); when aliases reference other aliases across many levels, each level multiplies the referenced structure, so a small text payload materializes into an exponentially large in-memory object graph. Building and holding that graph saturates CPU and monopolizes the single-threaded Node.js event loop. The remediating commit (c489497) confirms the mechanism: js-yaml is upgraded to v4 and, critically, parsing is wrapped in a custom splitFrontmatter routine plus constrain-object with maxDepth:4 and onCycle:'omit' to bound the resulting structure. The affected package is HedgeDoc (cpe:2.3:a:hedgedoc:hedgedoc), a Node.js/Express real-time collaborative markdown editor.
Know when Hedgedoc gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H
Network-reachable, reliably triggerable DoS needing only note-creation privilege (PR:L) and no user interaction; availability-only impact so C:N/I:N/A:H with scope unchanged.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
HedgeDoc is an open source, real-time, collaborative, markdown notes application. Prior to version 1.11.0, HedgeDoc was vulnerable to a YAML alias bomb due to unsafe processing of the note frontmatter. HedgeDoc parsed frontmatter with js-yaml.load (js-yaml v3) via @hedgedoc/meta-marked, which resolved YAML anchor aliases. A compact malicious payload could therefore expand into a huge object structure, consuming excessive CPU. This expansion ran on every request to the publish view (/s/<shortid>) and, when placed under the opengraph key, the editor view (/<noteId>). A ten-level alias bomb could block the single Node.js event loop for roughly 235 seconds per request, causing concurrent requests to hang or drop and rendering the instance unavailable (DoS). Because the note was stored in the database, the impact survived process restarts until the note was removed. toobusy-js did not reliably mitigate the worst cases, as the event loop was saturated before the middleware could respond. This issue was fixed in version 1.11.0.
Articles & Coverage 1
Executive ViewAI
HedgeDoc versions before 1.11.0 allow authenticated users to trigger repeated denial-of-service incidents by storing notes containing YAML alias bomb payloads that freeze the service for approximately four minutes per request; because the malicious content persists in the database and automatically re-triggers on system restart, the outages persist until manual administrative intervention deletes the offending note.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict note creation permissions to administrator accounts to eliminate the attack surface; implement server-side YAML frontmatter validation to reject payloads with anchor/alias expansion ratios exceeding safe thresholds; deploy event loop latency monitoring to detect and alert on parsing-induced blocking events; maintain database backups enabling rapid rollback to pre-attack state; and configure rate limiting on the publish view endpoint (/s/*) to reduce exploitation impact if compromise of an admin account occurs.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Affected Products (CPE)CVE.org
HedgeDoc is a collaborative platform for writing and sharing markdown. Rated high severity (CVSS 8.7), this vulnerabilit
HedgeDoc is software for creating real-time collaborative markdown notes. Rated high severity (CVSS 8.2), this vulnerabi
HedgeDoc is an open source, real-time, collaborative, markdown notes application. Rated medium severity (CVSS 6.5), this
HedgeDoc is open source software which lets you create real-time collaborative markdown notes. Rated medium severity (CV
HedgeDoc (formerly known as CodiMD) is an open-source collaborative markdown editor. Rated critical severity (CVSS 10.0)
HedgeDoc (formerly known as CodiMD) is an open-source collaborative markdown editor. Rated medium severity (CVSS 5.8), t
HedgeDoc is a collaborative platform for writing and sharing markdown. Rated high severity (CVSS 7.5), this vulnerabilit
Rate-limiting bypass in HedgeDoc prior to 1.11.0 permits unauthenticated remote attackers to circumvent brute-force prot
HedgeDoc's GitHub Gist export feature exposes private and protected note content to attacker-controlled GitHub accounts
HedgeDoc is an open source, real-time, collaborative, markdown notes application. Rated medium severity (CVSS 6.4), this
HedgeDoc is a platform to write and share markdown. Rated medium severity (CVSS 6.1), this vulnerability is remotely exp
HedgeDoc is a platform to write and share markdown. Rated medium severity (CVSS 6.1), this vulnerability is remotely exp
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB