Medium · published November 13, 2025
js-yaml is a JavaScript YAML parser and dumper. In js-yaml before 4.1.1 and 3.14.2, it's possible for an attacker to modify the prototype of the result of a parsed yaml document via prototype pollution (`__proto__`). All users who parse untrusted yaml documents may be impacted. The problem is patched in js-yaml 4.1.1 and 3.14.2. Users can protect against this kind of attack on the server by using `node --disable-proto=delete` or `deno` (in Deno, pollution protection is on by default).
| Product | Versions | Fixed in |
|---|---|---|
| nodeca/js-yaml | < 3.14.2 | 3.14.2 |
| nodeca/js-yaml | ≥ 4.0.0, < 4.1.1 | 4.1.1 |