PatchSiren cyber security CVE debrief
CVE-2026-73643 nodeca CVE debrief
A vulnerability in js-yaml, a JavaScript YAML parser and dumper, can cause exponential parsing time when loading untrusted input, potentially blocking the Node.js event loop. The vulnerability is caused by the readFlowCollection function in src/parser/parser.ts, which can lead to O(2^n) work when parsing a small YAML document with a nested flow sequence. Defenders handling untrusted YAML input in js-yaml, especially in applications using versions 5.0.0 to 5.2.1, should assess exposure and prioritize updating to version 5.2.2 or later. The issue is fixed in version 5.2.2.
- Vendor
- nodeca
- Product
- js-yaml
- CVSS
- HIGH 7.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-08-13
- Original CVE updated
- 2026-09-18
- Advisory published
- 2026-08-13
- Advisory updated
- 2026-09-18
Who should care
Defenders handling untrusted YAML input in js-yaml, especially in applications using versions 5.0.0 to 5.2.1, should assess exposure and prioritize updating to version 5.2.2 or later.
Why it matters
A vulnerability in js-yaml can cause exponential parsing time when loading untrusted input, potentially blocking the Node.js event loop, and defenders should prioritize verifying and updating js-yaml to version 5.2.2 or later.
- Potential denial-of-service (DoS) attacks due to exponential parsing time
- Event loop blocking and process stalling
- Verification of js-yaml version and input validation required
Technical summary
The vulnerability is caused by the readFlowCollection function in src/parser/parser.ts, which can lead to O(2^n) work when parsing a small YAML document with a nested flow sequence, potentially blocking the Node.js event loop. The issue is fixed in version 5.2.2. js-yaml is a JavaScript YAML parser and dumper. From 5.0.0 until 5.2.2, parsing a small YAML document can take exponential time when an application calls load() or loadAll() on untrusted input. In src/parser/parser.ts, readFlowCollection uses restoreState and calls parseNode a second time when a flow-sequence entry is recognized as a key: value pair.
Defensive priority
Defenders should prioritize verifying and updating js-yaml to version 5.2.2 or later, especially in applications handling untrusted YAML input.
Recommended defensive actions
- Verify and update js-yaml to version 5.2.2 or later
- Review and limit untrusted YAML input in applications
- Monitor for potential denial-of-service (DoS) attacks
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up.
- Review the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance.
- Plan vendor-supported updates or mitigations through normal change control where exposure is confirmed.
- Check relevant monitoring, detection, and logs for exposed assets that need extra review.
Evidence notes
The vulnerability is caused by the readFlowCollection function in src/parser/parser.ts, which can lead to O(2^n) work when parsing a small YAML document with a nested flow sequence. No anchors, aliases, merges, tags, or nondefault options are required. This issue can cause exponential parsing time when an application calls load() or loadAll() on untrusted input. In src/parser/parser.ts, readFlowCollection uses restoreState and calls parseNode a second time when a flow-sequence entry is recognized as a key: value pair. If the key is a
Sources and references
Verified primary and authoritative sources
-
CVE-2026-73643 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-73643
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-73643 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-73643
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/nodeca/js-yaml/commit/3e5240f9cbe645ce5afb58524954a13c8539c853
-
Source reference
Unverified legacy reference
URL: https://github.com/nodeca/js-yaml/security/advisories/GHSA-pm4m-ph32-ghv5
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.