# CVE-2026-53550: nodeca js-yaml denial of service in merge key handling

Source: https://junglewise.ai/threats/cve-2026-53550-nodeca-js-yaml-denial-of-service-in-merge-key-handling  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-06-22. Updated: 2026-06-22  
License: CC BY 4.0 with a link back

CVE-2026-53550 · Severity: medium · CVSS 5.3 · Published 2026-06-22

js-yaml is a popular JavaScript library used to read and write YAML files, commonly used in web servers and configuration tools. A vulnerability in how it handles specific data structures allows an attacker to send a small, specially crafted file that forces the server to perform excessive calculations. This can cause the application to become unresponsive or crash, leading to a denial of service for legitimate users.

Technologies: [js-yaml (npm)](https://junglewise.ai/threats/technologies/js-yaml). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-53550 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-53550 being exploited in the wild.

**How severe is CVE-2026-53550?** Medium severity, with a CVSS score of 5.3, published 22 June 2026.

**Which products and versions are affected?** js-yaml (npm) <= 4.1.1, SEMVER:introduced=4.0.0,fixed=4.2.0.

**Is there a fix for CVE-2026-53550?** Yes. js-yaml (npm): upgrade to 4.2.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-53550 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-53550?** Check whether you run js-yaml (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- js-yaml (npm): upgrade to 4.2.0 or later

  ```sh
  npm install js-yaml@4.2.0
  ```


## Technical details

A denial-of-service vulnerability exists in js-yaml's merge-key (<<) processing within lib/loader.js. The root cause is inefficient algorithmic complexity (CWE-407) where the storeMappingPair function fails to deduplicate aliases in a merge sequence. When a YAML document repeats the same anchored alias multiple times, the parser redundantly executes mergeMappings, performing repeated Object.keys() allocations and hasOwnProperty checks. This results in O(K * M) complexity (where K is the number of keys and M is the number of merges) instead of linear scaling. An attacker can exploit this by submitting a small payload (tens of KB) to block the Node.js event loop for several seconds. The issue is resolved in version 4.2.0 by implementing reference-based deduplication during merge handling.

## Affected products

- nodeca js-yaml < 4.2.0

## Identifiers

- CVE-2026-53550
- GHSA-h67p-54hq-rp68

## Timeline

- 2026-05-31: advisory: GitHub Security Advisory published by maintainers
- 2026-06-22: disclosed: NVD publication date

## References

- [https://github.com/nodeca/js-yaml/security/advisories/GHSA-h67p-54hq-rp68](https://github.com/nodeca/js-yaml/security/advisories/GHSA-h67p-54hq-rp68)

## Related threats

- [js-yaml CPU exhaustion via merge keys with empty mappings](https://junglewise.ai/threats/js-yaml-maxtotalmergekeys-does-not-limit-cpu-use-for-empty-merge-e18172a3)
- [js-yaml YAML merge CPU consumption DoS](https://junglewise.ai/threats/cve-2026-84375-js-yaml-denial-of-service-via-empty-merge-sources)
- [js-yaml exponential parsing time in flow collections denial of service](https://junglewise.ai/threats/cve-2026-73643-js-yaml-exponential-parsing-time-in-flow-collections-denial-of)
- [JS-YAML quadratic CPU consumption in !!omap resolution](https://junglewise.ai/threats/js-yaml-quadratic-cpu-consumption-in-omap-resolution-f21ac1bd)
- [nodeca js-yaml denial of service in YAML11_SCHEMA omap parsing](https://junglewise.ai/threats/cve-2026-59870-nodeca-js-yaml-denial-of-service-in-yaml11-schema-omap-parsing)
