
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-53550 is a denial-of-service vulnerability in js-yaml, a JavaScript YAML parser and dumper, caused by quadratic algorithmic complexity in merge-key (<<) processing. A crafted YAML document that repeats the same alias many times in a merge sequence triggers O(K×M) CPU work while the input size is only O(K+M), allowing an attacker to block a Node.js worker/event loop for seconds with a payload of tens of kilobytes. Affected versions are js-yaml >= 4.0.0 and <= 4.1.1 (4.x branch) and all versions < 3.15.0 (3.x branch). The vulnerability was published by maintainer puzrin on May 31, 2026, and assigned CVE-2026-53550 with a CVSS v3.1 base score of 5.3 (Medium) (GitHub Advisory, js-yaml Advisory).
The root cause (CWE-407: Inefficient Algorithmic Complexity) lies in lib/loader.js within the storeMappingPair() function. When a YAML merge key (<<) references a sequence of aliases, the function iterates each element and calls mergeMappings() without deduplicating repeated references. Because all repeated aliases resolve to the same anchored object via state.anchorMap, each subsequent merge is semantically a no-op but still executes Object.keys(source) (O(K)) and K _hasOwnProperty.call checks against the destination — yielding O(K×M) total work for M repeated aliases of an anchor with K keys. No authentication or special privileges are required; any network-accessible endpoint that parses untrusted YAML is exploitable. A public PoC payload structure is documented in the official advisory (js-yaml Advisory).
Successful exploitation causes CPU exhaustion in the Node.js process parsing the crafted YAML, blocking the event loop for seconds per request. Benchmarks from the advisory show that an ~87 KB payload (K=M=8000) causes ~3.4–3.6 seconds of parse time versus ~5 ms for a legitimate equivalent document. There is no confidentiality or integrity impact; the vulnerability is limited to availability, but repeated submissions can sustain a denial-of-service condition against API backends, CI/CD pipelines, configuration processors, and automation services that accept untrusted YAML input (GitHub Advisory).
A proof-of-concept payload structure is publicly documented in the official GitHub Security Advisory, including concrete parameter values (K=M=1000 through 8000) and measured timing outcomes, making the vulnerability straightforward to reproduce (js-yaml Advisory). No authentication is required and attack complexity is low, making it automatable. The EPSS score is approximately 0.25% (17th percentile), and there is currently no evidence of in-the-wild exploitation or CISA KEV catalog inclusion. The vulnerability is detected by Qualys (ID: 5013820) and Nessus (ID: 322241).
a: &a {k0: 0, k1: 0, ..., kK: 0}
b: {<<: [*a, *a, *a, ... repeated M times ...]}<<) sequences; unusually high request rates to configuration or data-ingestion endpoints.<<: [*a, *a, *a, ...] with many repeated alias references (js-yaml Advisory).Upgrade js-yaml to version 4.2.0 (for the 4.x branch) or 3.15.0 (for the 3.x branch), which deduplicate merge sources by reference before invoking mergeMappings(), eliminating the quadratic behavior. If immediate patching is not possible, implement input validation and size limits on YAML documents accepted by the application, and consider rate-limiting YAML parsing requests to reduce the impact of repeated submissions. Restricting untrusted YAML input at the application boundary is an effective interim control (GitHub Advisory, js-yaml Advisory).
The vulnerability was reported by researcher 0xbughunter and analyzed by multiple contributors including soren121, mazze93, G-Rath, dargmuesli, and omgovich through the GitHub Security Advisory process. The maintainer puzrin published the advisory and coordinated the fix. The issue has been picked up by standard vulnerability tracking platforms (Vulners, OSV, VulnDB, CVEFeed) and scanner vendors (Tenable Nessus, Qualys), and an openSUSE security announcement was issued. No significant social media controversy or major media coverage has been identified beyond routine vulnerability disclosure channels (js-yaml Advisory, GitHub Advisory).
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."