{"id":"CVE-2026-59870","state":"PUBLISHED","title":"js-yaml quadratic-complexity denial of service via YAML11_SCHEMA !!omap parsing","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.","publishedAt":"2026-07-08T15:13:20.308Z","updatedAt":"2026-10-06T15:07:05.157Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","source":"GitHub_M"},"assigner":"GitHub_M","products":["nodeca js-yaml"],"affected":[{"vendor":"nodeca","product":"js-yaml","versions":[{"version":">= 5.0.0, < 5.2.1","status":"affected"},{"version":">= 3.0.0, < 3.15.1","status":"affected"},{"version":">= 4.0.0, < 4.3.1","status":"affected"}]}],"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"],"weaknesses":["CWE-407"],"ingestedAt":"2026-10-29T20:12:32.778Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/59xxx/CVE-2026-59870.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-59870","state":"PUBLISHED","datePublished":"2026-07-08T15:13:20.308Z","dateUpdated":"2026-10-06T15:07:05.157Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-07-07T15:41:53.607Z"},"containers":{"cna":{"title":"js-yaml quadratic-complexity denial of service via YAML11_SCHEMA !!omap parsing","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"nodeca","product":"js-yaml","versions":[{"version":">= 5.0.0, < 5.2.1","status":"affected"},{"version":">= 3.0.0, < 3.15.1","status":"affected"},{"version":">= 4.0.0, < 4.3.1","status":"affected"}]}],"references":[{"url":"https://github.com/nodeca/js-yaml/security/advisories/GHSA-724g-mxrg-4qvm","name":"https://github.com/nodeca/js-yaml/security/advisories/GHSA-724g-mxrg-4qvm","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/nodeca/js-yaml/commit/22a8071ef032117bc6249c330b240ac3aa2d3ded","name":"https://github.com/nodeca/js-yaml/commit/22a8071ef032117bc6249c330b240ac3aa2d3ded","tags":["x_refsource_MISC"]},{"url":"https://github.com/nodeca/js-yaml/commit/39f3211a2f01b3c6982710cf21434ab7060acefe","name":"https://github.com/nodeca/js-yaml/commit/39f3211a2f01b3c6982710cf21434ab7060acefe","tags":["x_refsource_MISC"]},{"url":"https://github.com/nodeca/js-yaml/commit/c3cc4b0bb9ddb9af2dd9b61e0d56f5ce7983cd4a","name":"https://github.com/nodeca/js-yaml/commit/c3cc4b0bb9ddb9af2dd9b61e0d56f5ce7983cd4a","tags":["x_refsource_MISC"]},{"url":"https://github.com/nodeca/js-yaml/releases/tag/3.15.1","name":"https://github.com/nodeca/js-yaml/releases/tag/3.15.1","tags":["x_refsource_MISC"]},{"url":"https://github.com/nodeca/js-yaml/releases/tag/4.3.1","name":"https://github.com/nodeca/js-yaml/releases/tag/4.3.1","tags":["x_refsource_MISC"]},{"url":"https://github.com/nodeca/js-yaml/releases/tag/5.2.1","name":"https://github.com/nodeca/js-yaml/releases/tag/5.2.1","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-407","lang":"en","description":"CWE-407: Inefficient Algorithmic Complexity","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-06T15:07:05.157Z"},"source":{"advisory":"GHSA-724g-mxrg-4qvm","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/nodeca/js-yaml/security/advisories/GHSA-724g-mxrg-4qvm","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-07-08T15:50:31.265965Z","id":"CVE-2026-59870","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-07-08T15:50:55.378Z"}}]}}}