CVE-2026-33532 Details
Description
`yaml` is a YAML parser and serialiser for JavaScript. Parsing a YAML document with a version of `yaml` on the 1.x branch prior to 1.10.3 or on the 2.x branch prior to 2.8.3 may throw a RangeError due to a stack overflow. The node resolution/composition phase uses recursive function calls without a depth bound. An attacker who can supply YAML for parsing can trigger a `RangeError: Maximum call stack size exceeded` with a small payload (~2–10 KB). The `RangeError` is not a `YAMLParseError`, so applications that only catch YAML-specific errors will encounter an unexpected exception type. Depending on the host application's exception handling, this can fail requests or terminate the Node.js process. Flow sequences allow deep nesting with minimal bytes (2 bytes per level: one `[` and one `]`). On the default Node.js stack, approximately 1,000–5,000 levels of nesting (2–10 KB input) exhaust the call stack. The exact threshold is environment-dependent (Node.js version, stack size, call stack depth at invocation). Note: the library's `Parser` (CST phase) uses a stack-based iterative approach and is not affected. Only the compose/resolve phase uses actual call-stack recursion. All three public parsing APIs are affected: `YAML.parse()`, `YAML.parseDocument()`, and `YAML.parseAllDocuments()`. Versions 1.10.3 and 2.8.3 contain a patch.
A denial-of-service vulnerability has been identified in the yaml YAML parser and serializer for JavaScript. This issue affects versions 1.0.0 prior to 1.10.3 and 2.0.0 prior to 2.8.3. The vulnerability arises during the node resolution and composition phase, where recursive function calls lack a depth limit. An attacker can exploit this by supplying a YAML document with deep nesting, causing a stack overflow and a RangeError. The error message 'Maximum call stack size exceeded' indicates the failure, but this RangeError is not recognized as a YAML-specific parsing error. As a result, applications that only handle YAMLParseError may experience unexpected crashes or request failures. The vulnerability can be reproduced by creating a YAML document with approximately 1,000 to 5,000 levels of nesting, which can be achieved with a payload of just 2 to 10 KB. The issue has been patched in yaml versions 1.10.3 and 2.8.3.
Users can upgrade to yaml versions 1.10.3 or 2.8.3 to address this vulnerability.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
CISA-ADP
Assessed Mar 30, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-674 | Uncontrolled Recursion | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| eemeli yaml | >= 1.0.0, < 1.10.3 >= 2.0.0, < 2.8.3 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | [email protected] |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| Apr 2, 2026 | Initial Analysis | [email protected] |
| Mar 26, 2026 | New CVE Received | [email protected] |