js-yaml quadratic-complexity denial of service via YAML11_SCHEMA !!omap parsing (nodeca js-yaml)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.74 % · percentile 54 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- GitHub_M
- NVD status
- Modified
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.
Weaknesses (CWE)
- CWE-407 — Inefficient Algorithmic Complexity
- CWE-770 — Allocation of Resources Without Limits or Throttling
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
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | GitHub_M |
| CVSS 3.1 | HIGH 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | NVD · security-advisories@github.com (Secondary) |
| CVSS 3.1 | HIGH 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | NVD · nvd@nist.gov (Primary) |
Advisories
- GHSA-724g-mxrg-4qvm — js-yaml: Quadratic-complexity (O(n^2)) DoS via !!omap tag in YAML11_SCHEMA
European references
- ENISA EUVD · EUVD-2026-42300
- GCVE · GCVE-0-2026-59870
CERT-FR advisories
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:a:nodeca:js-yaml:*:*:*:*:*:node.js:*:*≥ 5.0.0 < 5.2.1
Affected products
| Product | Versions |
|---|---|
| nodeca · js-yaml | affected >= 5.0.0, < 5.2.1 ; affected >= 3.0.0, < 3.15.1 ; affected >= 4.0.0, < 4.3.1 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |