Prototype Pollution in lodash
Published 15 Jul 2020 · Updated 12 Aug 2025
Affected packages
- Affected
- >=3.7.0 <4.17.19
- Fixed in
- 4.17.19
npm install lodash@4.17.19- Affected
- >=3.7.0 <4.17.20
- Fixed in
- 4.17.20
npm install lodash-es@4.17.20- Affected
- >=4.0.0 <=4.4.0
- Fixed in
- No fix released
- Affected
- >=3.7.0 <=4.3.2
- Fixed in
- No fix released
- Affected
- <=4.3.2
- Fixed in
- No fix released
- Affected
- <=4.10.2
- Fixed in
- No fix released
- Affected
- <=4.10.2
- Fixed in
- No fix released
Details
Versions of lodash prior to 4.17.19 are vulnerable to Prototype Pollution. The functions pick, set, setWith, update, updateWith, and zipObjectDeep allow a malicious user to modify the prototype of Object if the property identifiers are user-supplied. Being affected by this issue requires manipulating objects based on user-provided property values or arrays.
This vulnerability causes the addition or modification of an existing property that will exist on all objects and may lead to Denial of Service or Code Execution under specific circumstances.
Is GHSA-p6mc-m468-83gw 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
- Advisorynvd.nist.gov/vuln/detail/CVE-2020-8203
- Linkgithub.com/lodash/lodash/issues/4744
- Linkgithub.com/lodash/lodash/issues/4874
- Linkgithub.com/github/advisory-database/pull/2884
- Linkgithub.com/lodash/lodash/commit/c84fe82760fb2d3e03a63379b297a1cc1a2fce12
- Linkhackerone.com/reports/712065
- Linkhackerone.com/reports/864701
- Packagegithub.com/lodash/lodash
- Linkgithub.com/lodash/lodash/wiki/Changelog#v41719
- Linkgithub.com/rubysec/ruby-advisory-db/blob/master/gems/lodash-rails/CVE-2020-8203.yml
- Linksecurity.netapp.com/advisory/ntap-20200724-0006
- Linkweb.archive.org/web/20210914001339/https://github.com/lodash/lodash/issues/4744
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.