Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…

CVE-2025-64718: CWE-1321: Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in nodeca js-yaml

0
Medium
VulnerabilityCVE-2025-64718cvecve-2025-64718cwe-1321
Published: Thu Nov 13 2025 (11/13/2025, 15:32:44 UTC)
Source: CVE Database V5
Vendor/Project: nodeca
Product: js-yaml

Description

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).

AI-Powered Analysis

AILast updated: 01/30/2026, 08:08:42 UTC

Technical Analysis

The vulnerability identified as CVE-2025-64718 affects the js-yaml library, a widely used JavaScript YAML parser and dumper maintained by nodeca. Versions 4.0.0 up to but not including 4.1.1, and all versions below 3.14.2, are vulnerable to prototype pollution via the __proto__ property in YAML documents. Prototype pollution occurs when an attacker can inject or modify properties on an object's prototype, thereby influencing all objects inheriting from that prototype. In this case, parsing a maliciously crafted YAML document allows an attacker to alter the prototype of the resulting JavaScript object, potentially causing unexpected behavior or security issues in applications relying on js-yaml for configuration or data processing. The attack vector is remote and requires no privileges or user interaction, making it feasible for attackers to exploit exposed services that parse untrusted YAML input. The vulnerability impacts integrity (I) but not confidentiality (C) or availability (A), as per the CVSS vector. The issue was addressed in js-yaml versions 4.1.1 and 3.14.2 by sanitizing or restricting prototype modifications during parsing. Additional mitigation includes running Node.js with the --disable-proto=delete flag, which prevents prototype pollution via deletion operations, or using the Deno runtime environment, which has pollution protections enabled by default. No public exploits have been reported yet, but the vulnerability's nature and ease of exploitation warrant prompt remediation.

Potential Impact

For European organizations, this vulnerability poses a risk primarily to the integrity of applications that parse YAML input using vulnerable js-yaml versions. Attackers could manipulate application logic, bypass security controls, or cause erratic behavior by injecting prototype pollution payloads. This can lead to compromised application workflows, data corruption, or indirect privilege escalation if the polluted prototype affects security-critical code paths. Organizations in sectors such as finance, healthcare, and critical infrastructure that rely on Node.js-based services or microservices parsing YAML configurations or data are particularly at risk. The medium severity rating reflects that while confidentiality and availability are not directly impacted, the integrity compromise can have cascading effects on trustworthiness and operational correctness. Given the widespread use of js-yaml in the JavaScript ecosystem, the scope of affected systems is broad, increasing the potential attack surface. The lack of required authentication and user interaction further elevates the risk, especially for publicly accessible services.

Mitigation Recommendations

European organizations should immediately identify all instances of js-yaml usage in their software stacks, including direct dependencies and transitive dependencies in Node.js projects. Upgrading to js-yaml versions 4.1.1 or 3.14.2 is the most effective mitigation. For environments where immediate upgrade is not feasible, running Node.js with the --disable-proto=delete flag can help prevent prototype pollution attacks by disabling prototype deletion operations. Additionally, migrating to the Deno runtime environment can provide built-in protection against such pollution. Organizations should also implement strict input validation and sanitization for YAML inputs, especially if sourced from untrusted or external origins. Employing runtime application self-protection (RASP) or behavior monitoring to detect anomalous prototype modifications can provide additional defense layers. Regular dependency audits and integrating software composition analysis (SCA) tools into CI/CD pipelines will help detect vulnerable versions early. Finally, educating developers about the risks of prototype pollution and secure YAML parsing practices is crucial to prevent future vulnerabilities.

Need more detailed analysis?Upgrade to Pro Console

Technical Details

Data Version
5.2
Assigner Short Name
GitHub_M
Date Reserved
2025-11-10T14:07:42.922Z
Cvss Version
3.1
State
PUBLISHED

Threat ID: 6915fe5477eaf5a849603956

Added to database: 11/13/2025, 3:50:44 PM

Last enriched: 1/30/2026, 8:08:42 AM

Last updated: 2/6/2026, 2:22:03 AM

Views: 172

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats