lodash vulnerable to Prototype Pollution via array path bypass in `_.unset` and `_.omit`
Affected releases · lodash
- 4.x4.0.0 – 4.17.23Fixed in 4.18.0
- 3.x and older0.1.0 – 3.10.1No fix, no longer updated
On 4.x, the newest line:
npm install lodash@4.18.0Every release on a timeline
Affected
4.0.0 – 4.17.23
54 releases
Fixed
4.18.0 – 4.18.1
2 releases, latest
Affected
3.0.0 – 3.10.1
17 releases
Affected
2.0.0 – 2.4.2
8 releases
Affected
1.0.0 – 1.3.1
9 releases
Affected
0.1.0 – 0.10.0
23 releases
What happens
Impact
Lodash versions 4.17.23 and earlier are vulnerable to prototype pollution in the _.unset and _.omit functions. The fix for CVE-2025-13465 only guards against string key members, so an attacker can bypass the check by passing array-wrapped path segments. This allows deletion of properties from built-in prototypes such as Object.prototype, Number.prototype, and String.prototype.
The issue permits deletion of prototype properties but does not allow overwriting their original behavior.
Patches
This issue is patched in 4.18.0.
Workarounds
None. Upgrade to the patched version.