GHSA-p6mc-m468-83gw
Prototype Pollution in lodash
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | lodash | >= 3.7.0, < 4.17.19 | 4.17.19 |
| npm | lodash-es | >= 3.7.0, < 4.17.20 | 4.17.20 |
| npm | lodash.pick | >= 4.0.0, <= 4.4.0 | no fix listed |
| npm | lodash.set | >= 3.7.0, <= 4.3.2 | no fix listed |
| npm | lodash.setwith | <= 4.3.2 | no fix listed |
| npm | lodash.update | <= 4.10.2 | no fix listed |
| npm | lodash.updatewith | <= 4.10.2 | no fix listed |
| RubyGems | lodash-rails | >= 3.7.0, < 4.17.19 | 4.17.19 |
Details
As written in the advisory (Markdown source, shown as plain text).
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.
References
External links from the advisory. They lead to third-party sites.
- https://nvd.nist.gov/vuln/detail/CVE-2020-8203
- https://github.com/lodash/lodash/issues/4744
- https://github.com/lodash/lodash/issues/4874
- https://github.com/github/advisory-database/pull/2884
- https://github.com/lodash/lodash/commit/c84fe82760fb2d3e03a63379b297a1cc1a2fce12
- https://hackerone.com/reports/712065
- https://hackerone.com/reports/864701
- https://github.com/lodash/lodash
- https://github.com/lodash/lodash/wiki/Changelog#v41719
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/lodash-rails/CVE-2020-8203.yml
- https://security.netapp.com/advisory/ntap-20200724-0006
- https://web.archive.org/web/20210914001339/https://github.com/lodash/lodash/issues/4744