
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-84375 is a Denial of Service vulnerability in the js-yaml JavaScript YAML parser and dumper (by nodeca) caused by inefficient algorithmic complexity when processing YAML merge keys (<<) with empty mapping sources. Affected versions are >= 3.0.0, < 3.15.2 and >= 4.0.0, < 4.3.2; the issue is fixed in versions 3.15.2 and 4.3.2. The vulnerability was published on September 1, 2026, with the GitHub Security Advisory (GHSA-2883-xcg3-v3hh) published on September 8, 2026. It carries a CVSS v3.1 base score of 7.5 (High) (GitHub Advisory, Red Hat CVE).
The root cause is an incomplete resource-consumption guard in lib/js-yaml/loader.js (v3.x) and lib/loader.js / src/parser/constructor.ts (v4.x), classified as CWE-400 (Uncontrolled Resource Consumption) and CWE-407 (Inefficient Algorithmic Complexity). The maxTotalMergeKeys counter, introduced to prevent a prior quadratic merge-key DoS (GHSA-g796-fgmg-93mv), only increments when a merge source contributes at least one key — empty mappings ({}) cost real iteration work but never increment the counter, so the guard never fires. An attacker can craft a YAML document that aliases a large sequence of N empty mappings (&arr) into K merge targets, causing O(N × K) processing while totalMergeKeys remains at zero. A PoC is publicly available in the GitHub advisory: a ~500 KB document with N=K=20,000 takes approximately 13 seconds to parse on a single core, and the attack scales quadratically (GitHub Advisory, PR #797).
Successful exploitation causes prolonged CPU exhaustion on any Node.js application that parses untrusted YAML using affected versions of js-yaml with merge processing enabled (which is the default for YAML 1.1 / YAML11_SCHEMA configurations). There is no confidentiality or integrity impact — the vulnerability is purely an availability (DoS) issue. Because js-yaml is an extremely widely used npm dependency, the blast radius extends to a large number of downstream applications and services that accept user-supplied YAML input (GitHub Advisory, Red Hat CVE).
No in-the-wild exploitation has been reported, and no exploit kits or threat actor attribution are associated with this vulnerability. A functional proof-of-concept payload is publicly documented in the GitHub Security Advisory, making the attack trivially reproducible. The NVD SSVC assessment marks the vulnerability as automatable (no user interaction required) with no known exploitation at time of publication. The EPSS score is approximately 0.385%, indicating a low but non-negligible probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog (GitHub Advisory, Red Hat CVE).
YAML11_SCHEMA).arr: &arr [{}, {}, {}, ...] # N empty mappings
targets:
- <<: *arr # repeated K timesmaxTotalMergeKeys guard never fires, causing the server process to consume excessive CPU and become unresponsive or severely degraded (GitHub Advisory, PR #797).<<: merge keys referencing anchored sequences of empty mappings ({}); unusually long YAML parse durations logged by application-level timing middleware.*arr) and merge key patterns (<<:).Upgrade js-yaml to the patched versions: 3.15.2 (for the v3.x line) or 4.3.2 (for the v4.x line). The fix modifies mergeMappings to charge one unit against maxTotalMergeKeys per merge source mapping regardless of whether it contributes any keys, and additionally hard-limits merge sequences to 100 elements. If an immediate upgrade is not possible, consider disabling YAML 1.1 merge key support by avoiding YAML11_SCHEMA or CORE_SCHEMA.withTags(mergeTag), or by rejecting/sanitizing YAML input containing <<: merge keys at the application layer before parsing (GitHub Advisory, Commit 3485bc0, Commit d90b661).
The fix was contributed via a community pull request (PR #797 by spokodev) and merged by maintainer puzrin on August 26, 2026; the maintainer noted a preference for future reports to go through the standard security disclosure channel rather than a public PR. The vulnerability attracted broad ecosystem attention, with hundreds of downstream projects (including Backstage, Lightdash, Vercel, Azure, and OpenAM) opening or merging dependency bump PRs within days of the advisory publication. Snyk added detection support via CLI v1.1307 shortly after disclosure (PR #797, GitHub Advisory).
Fix availability across major Linux distributions and their releases.
bookworm
node-js-yaml
sid
node-js-yaml: 4.3.2+~4.0.9-1
trixie
node-js-yaml
bionic (esm-apps)
node-js-yaml
devel
node-js-yaml
focal (esm-apps)
node-js-yaml
jammy
node-js-yaml
jammy (esm-apps)
node-js-yaml
noble
node-js-yaml
noble (esm-apps)
node-js-yaml
resolute
node-js-yaml
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."