lodash vulnerable to Prototype Pollution via array path bypass in `_.unset` and `_.omit`
Published 1 Apr 2026 · Updated 17 Oct 2026
Affected packages
- Affected
- <4.18.0
- Fixed in
- 4.18.0
npm install lodash@4.18.0- Affected
- <4.18.0
- Fixed in
- 4.18.0
npm install lodash-es@4.18.0- Affected
- <4.18.0
- Fixed in
- 4.18.0
npm install lodash-amd@4.18.0- Affected
- >=4.0.0 <4.18.0
- Fixed in
- 4.18.0
npm install lodash.unset@4.18.0Details
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.
Is GHSA-f23m-r3pf-42rh in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected lodash, and gives you the command that fixes it.
References
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.