CVE Catalog

CVE-2026-107353

MediumCVSS 6.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.28%

19th percentile - higher than 19% of all known CVEs

Summary

traverse (npm) versions 0.3.6 through 0.3.9, 0.4.0 through 0.4.6, 0.5.0 through 0.5.2, and 0.6.0 through 0.6.11 allow prototype pollution through set(). When the path passed to set() crosses a primitive value, the next path segment is resolved on that primitive's built-in prototype, so an application that passes an untrusted path to set() lets an attacker add or overwrite properties of String.prototype, Number.prototype, or Boolean.prototype using plain JSON data. This is fixed in 0.3.10, 0.4.7, 0.5.3, and 0.6.12.

Risk Assessment

An application that passes an untrusted path to set() can be exploited to modify built-in JavaScript object prototypes, potentially leading to security bypass, arbitrary code execution, or application crash. The risk is especially high in applications processing user-supplied input.

Recommendation

Update the traverse library to version 0.3.10, 0.4.7, 0.5.3, or 0.6.12 (depending on the branch in use). Avoid passing untrusted paths to the set() function.

Related vulnerabilities

Original NVD description (English source)

traverse (npm) versions 0.3.6 through 0.3.9, 0.4.0 through 0.4.6, 0.5.0 through 0.5.2, and 0.6.0 through 0.6.11 allow prototype pollution through set(). When the path passed to set() crosses a primitive value, the next path segment is resolved on that primitive's built-in prototype, so an application that passes an untrusted path to set() lets an attacker add or overwrite properties of String.prototype, Number.prototype, or Boolean.prototype using plain JSON data, for example traverse({ name: 'bob' }).set(['name', '__proto__', 'polluted'], 'yes'). Object.prototype was reachable only with a non-data path segment, such as an object whose toString returns a different value on each call, or through a Proxy that accepts an assignment without storing it. This is fixed in 0.3.10, 0.4.7, 0.5.3, and 0.6.12.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS