CVE-2026-33532

yaml is vulnerable to Stack Overflow via deeply nested YAML collections

MEDIUM
4.3
CVSS Score
Published: March 26, 2026 at 07:49 PM UTC
Updated: June 17, 2026 at 10:37 AM UTC
1 product affected across 1 vendorYaml

Using yaml by eemeli?

Get instant alerts when new vulnerabilities affect yaml - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM4.3
Exploit prediction
EPSS 0.5%
SSVC
PoC

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 1.10.3v < 2.8.31.0.0 ≤ v < 1.10.32.0.0 ≤ v < 2.8.3
Affected range stops below 1.10.3, so it looks safe — our inference, not a vendor statement
Affected range stops below 2.8.3, so it looks safe — our inference, not a vendor statement

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

References (4)

x_refsource_CONFIRMExploitVendor Advisory
Source: cverecord
https://github.com/eemeli/yaml/security/advisories/GHSA-48c2-rrv3-qjmp
x_refsource_MISCProduct
Source: cverecord
https://github.com/eemeli/yaml/releases/tag/v1.10.3
x_refsource_MISCRelease Notes
Source: cverecord
https://github.com/eemeli/yaml/releases/tag/v2.8.3

SSVC — Action Prioritization

SSVCPoCNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

4.3MEDIUMGitHub_M
Attack Vector
NETWORK
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
LOW
Vector?

Quick Info

StatusANALYZED
CWE
CWE-674

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card