Impact
yaml, a JavaScript YAML parser, contains an unbounded recursive call during the compose/resolve phase, which can trigger a RangeError: Maximum call stack size exceeded when processing deeply nested YAML collections. An attacker supplying such nested input can cause the library to throw an unexpected exception type that is not a YAMLParseError; if the host application does not catch generic errors, this may result in request failures or termination of the Node.js process.
Affected Systems
Vendors: eemeli's yaml library. Affected versions are the 1.x branch prior to 1.10.3 and the 2.x branch prior to 2.8.3. All three parsing APIs - YAML.parse, YAML.parseDocument, and YAML.parseAllDocuments - are impacted.
Risk and Exploitability
CVSS score 4.3 indicates moderate severity. The exploit requires only that the application parse untrusted YAML content; a payload of 2-10 KB can trigger the stack overflow, and the exact depth needed depends on the Node.js stack configuration. Because the error type is a generic RangeError, applications that do not handle generic errors can experience crashes, but no arbitrary code execution is possible. The vulnerability is not listed in the CISA KEV catalog, and EPSS data is unavailable, so overall risk is moderate, especially for services that accept user-supplied YAML.
OpenCVE Enrichment
Github GHSA