estree-util-value-to-estree Prototype Pollution Vulnerability

Vulnerability

A prototype pollution vulnerability exists in the estree-util-value-to-estree package, specifically in versions prior to 3.3.3. The issue arises when the valueToEstree function processes an object with a __proto__ property. Instead of treating it as a regular property, the function incorrectly interprets it as a prototype specification, leading to potential prototype pollution.

Impact

Exploitation of this vulnerability allows for prototype pollution, where an attacker can manipulate an object's prototype, potentially leading to unexpected behavior in the application.

Reproduction

To reproduce this vulnerability, use the valueToEstree function with an object that includes a __proto__ property. The generated ESTree will incorrectly reflect the prototype specification instead of the intended property value.

Remediation

Users can upgrade to estree-util-value-to-estree version 3.3.3 or later to address this vulnerability. If the input cannot be controlled, remove any __proto__ properties before passing the object to the valueToEstree function.

Added: Jun 9, 2025, 7:46 PM
Updated: Jun 9, 2025, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
0.6
exploitability
8.4
remediation
7.7
relevance
0.0
threat
4.8
urgency
2.9
incentive
5.8

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.