# CVE-2026-84375: js-yaml: maxTotalMergeKeys does not limit CPU use for empty merge sources

> CVE-2026-84375: js-yaml: maxTotalMergeKeys does not limit CPU use for empty merge sources. CVSS 7.5 (CVSS 3.1).

Canonical: https://rewindex.com/cve/CVE-2026-84375
Last updated: 2026-09-28T22:17:33Z

- Published: 2026-09-01 21:43 UTC · Updated: 2026-09-28 22:17 UTC · Assigner: GitHub\_M
- CVSS: 7.5 (CVSS 3.1) · Severity: High · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- EPSS: 0.54%, 45th percentile (scored 2026-10-25)
- CISA KEV: no
- CWE: CWE-400, CWE-407

## Description

js-yaml is a JavaScript YAML parser and dumper. From 3.0.0 until 3.15.2, 4.3.2, and 5.4.1, maxTotalMergeKeys in lib/js-yaml/loader.js and lib/loader.js does not count empty mapping sources while processing the merge key \<\<. An attacker can alias a large sequence of empty mappings into many merge targets, causing O(N \* K) processing while totalMergeKeys remains unchanged and the configured resource limit is never reached. A relatively small YAML document can therefore cause prolonged CPU consumption in applications that parse untrusted YAML, and merge processing is enabled by default on these release lines. In v3 & v4, merge is enabled by default so the severity score is higher. This issue is fixed in versions 3.15.2, 4.3.2, and 5.4.1.

## Affected vendors and products

- nodeca: js-yaml

## Tracked companies

- [Jira](https://rewindex.com/company/jira.md)

## References

- [CVE record on cve.org](https://www.cve.org/CVERecord?id=CVE-2026-84375)
- [NVD entry](https://nvd.nist.gov/vuln/detail/CVE-2026-84375)
- [https://github.com/nodeca/js-yaml/commit/3485bc06ff8a0251505f44a00414d90df2466639](https://github.com/nodeca/js-yaml/commit/3485bc06ff8a0251505f44a00414d90df2466639)
- [https://github.com/nodeca/js-yaml/commit/6a8e05f9a485188ed730ac81e81ae221352ef480](https://github.com/nodeca/js-yaml/commit/6a8e05f9a485188ed730ac81e81ae221352ef480)
- [https://github.com/nodeca/js-yaml/commit/d90b6612a5a84385bdcb556c44578eac76dc0f6b](https://github.com/nodeca/js-yaml/commit/d90b6612a5a84385bdcb556c44578eac76dc0f6b)
- [https://github.com/nodeca/js-yaml/pull/797](https://github.com/nodeca/js-yaml/pull/797)
- [https://github.com/nodeca/js-yaml/releases/tag/3.15.2](https://github.com/nodeca/js-yaml/releases/tag/3.15.2)
- [https://github.com/nodeca/js-yaml/releases/tag/4.3.2](https://github.com/nodeca/js-yaml/releases/tag/4.3.2)
- [https://github.com/nodeca/js-yaml/releases/tag/5.4.1](https://github.com/nodeca/js-yaml/releases/tag/5.4.1)
- [https://github.com/nodeca/js-yaml/security/advisories/GHSA-2883-xcg3-v3hh](https://github.com/nodeca/js-yaml/security/advisories/GHSA-2883-xcg3-v3hh)

---

_Sources: CVE records from the CVE Program (cve.org). CVE® is a registered trademark of The MITRE Corporation. (https://www.cve.org/) This product uses data from the NVD API but is not endorsed or certified by the NVD. (https://nvd.nist.gov/) Known Exploited Vulnerabilities catalog from CISA. (https://www.cisa.gov/known-exploited-vulnerabilities-catalog) EPSS scores from FIRST (Exploit Prediction Scoring System). (https://www.first.org/epss/)_


---
Canonical: https://rewindex.com/cve/CVE-2026-84375 · Markdown: https://rewindex.com/cve/CVE-2026-84375.md · JSON: https://rewindex.com/api/v1/cves/CVE-2026-84375 · Data licensed CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) · Generated 2026-10-26T03:10:42.557Z
