Skip to content
CVE PROGRAM SOURCE RECORD6.5 Medium

CVE-2026-2950

lodash vulnerable to Prototype Pollution via array path bypass in `_.unset` and `_.omit`

Description

The _.unset and _.omit functions in Lodash are vulnerable to prototype pollution. 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. The issue is patched from 4.18.0 to 4.18.1 depending on the package: lodash, lodash-es, and lodash-amd in 4.18.1, and the standalone lodash.unset and lodash.omit packages in 4.18.0.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

lodash lodash

Default version status: unaffected

  • 4.17.23 to < 4.18.1affected
  • 4.18.1unaffected
pkg:npm/lodash

lodash lodash-es

Default version status: unaffected

  • 4.17.23 to < 4.18.1affected
  • 4.18.1unaffected
pkg:npm/lodash-es

lodash lodash-amd

Default version status: unaffected

  • 4.17.23 to < 4.18.1affected
  • 4.18.1unaffected
pkg:npm/lodash-amd

lodash lodash.unset

Default version status: unaffected

  • 0 to < 4.18.0affected
  • 4.18.0unaffected
pkg:npm/lodash.unset

lodash lodash.omit

Default version status: unaffected

  • 0 to < 4.18.0affected
  • 4.18.0unaffected
pkg:npm/lodash.omit

References