CVE-2026-59870
js-yaml quadratic-complexity denial of service via YAML11_SCHEMA !!omap parsing
- State
- Published
- Severity
- 7.5 High
- Published
- Jul 8, 2026
- Updated
- Oct 6, 2026
- Reserved
- Jul 7, 2026
Description
js-yaml is a JavaScript YAML parser and dumper. Prior to 3.15.1, 4.3.1, and 5.2.1, YAML11_SCHEMA support for the !!omap tag in src/tag/sequence/omap.ts uses omapTag.addItem() to perform a linear duplicate-key scan on every insertion, causing O(n^2) CPU consumption when yaml.load() parses a crafted ordered-map document. In v3 and v4, !!omap is active and exploitable by default. v5 doesn't use !!omap by default, and the chances of activating it are very low.This issue is fixed in 3.15.1, 4.3.1, and 5.2.1.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 7.5 High | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | GitHub_M |
Weaknesses
- CWE-407 Inefficient Algorithmic Complexity
Affected Products
| Product | Versions |
|---|---|
js-yamlnodeca |
|
References
- https://github.com/nodeca/js-yaml/security/advisories/GHSA-724g-mxrg-4qvm
- https://github.com/nodeca/js-yaml/commit/22a8071ef032117bc6249c330b240ac3aa2d3ded
- https://github.com/nodeca/js-yaml/commit/39f3211a2f01b3c6982710cf21434ab7060acefe
- https://github.com/nodeca/js-yaml/commit/c3cc4b0bb9ddb9af2dd9b61e0d56f5ce7983cd4a
- https://github.com/nodeca/js-yaml/releases/tag/3.15.1
- https://github.com/nodeca/js-yaml/releases/tag/4.3.1
- https://github.com/nodeca/js-yaml/releases/tag/5.2.1
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.