js-yaml: maxTotalMergeKeys does not limit CPU use for empty merge sources — GHSA-R3PH-W7GJ-G6XM
GitHub · GitHub · GHSA-R3PH-W7GJ-G6XM
ID
GHSA-R3PH-W7GJ-G6XM
GHSA-R3PH-W7GJ-G6XM
Date
Source
GitHub
GitHub
Vendor
GitHub
GitHub
Threat
medium
medium
CVSS
5.3
5.3
Summary
## Summary `maxTotalMergeKeys` does not count empty mappings. An attacker can repeatedly merge a large sequence of them and consume significant CPU without reaching the configured limit. ## Example ```yaml arr: &arr [{}, {}, {}, ...] # N empty mappings targets: - <<: *arr # repeated K times ``` For every target, the loader iterates all `N` elements of `arr`. This results in `O(N * K)` work while `totalMergeKeys`…
Timeline
- Published by source
- 2026-09-29
Risk context
- Reported severity or threat level: medium.
- Reported CVSS score: 5.3 out of 10.
- Review exposure for the affected product or family: npm: js-yaml.
Product
npm: js-yaml
What to do
General, cautious steps (verify details in the official source):
- Review exposure and plan remediation based on risk and environment.
- Identify affected product versions in your inventory and verify whether you are impacted.
- Apply vendor patches/updates or recommended mitigations as soon as available.
- Read the official advisory for exact affected versions and remediation steps.
Official advisory
Evidence and provenance
- Canonical advisory ID
- GHSA-R3PH-W7GJ-G6XM
- Source
- GitHub
- Vendor
- GitHub
- Published by source
- 2026-09-29
- Last source activity
- 2026-09-29
- Curated by
- hlukh.ch
Related advisories and connections
These advisories are connected by shared CVE, product, vendor, source, or time signals.