CVE-2026-73643

NameCVE-2026-73643
Descriptionjs-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. If the key is a nested flow sequence of the same shape, every level is parsed twice, causing O(2^n) work and allowing an input under 200 bytes to keep one CPU busy for minutes, block the Node.js event loop, and stall the process. No anchors, aliases, merges, tags, or nondefault options are required. This issue is fixed in version 5.2.2.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
node-js-yaml (PTS)bullseye3.14.1+dfsg+~3.12.6-2fixed
bookworm, trixie4.1.0+dfsg+~4.0.5-7fixed
forky, sid4.2.0+~4.0.9-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
node-js-yamlsource(unstable)(not affected)

Notes

- node-js-yaml <not-affected> (Vulnerable code not present)
https://github.com/nodeca/js-yaml/security/advisories/GHSA-pm4m-ph32-ghv5
Fixed by: https://github.com/nodeca/js-yaml/commit/3e5240f9cbe645ce5afb58524954a13c8539c853 (5.2.2)

Search for package or bug name: Reporting problems