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).
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-1321"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/64xxx/CVE-2025-64718.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:nodeca:js-yaml:*:*:*:*:*:node.js:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.14.2"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:nodeca:js-yaml:*:*:*:*:*:node.js:*:*",
"range": [
{
"introduced": "4.0.0"
},
{
"fixed": "4.1.1"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "383665ff4248ec2192d1274e934462bb30426879"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "5278870a17454fe8621dbd8c445c412529525266"
}
],
"source": "REFERENCES_COMMIT"
}
]
}