Описание
Prototype Pollution in lodash
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.
Ссылки
- 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/wiki/Changelog#v41719
- https://security.netapp.com/advisory/ntap-20200724-0006
- https://web.archive.org/web/20210914001339/https://github.com/lodash/lodash/issues/4744
Пакеты
lodash
>= 3.7.0, < 4.17.19
4.17.19
lodash-es
>= 3.7.0, < 4.17.20
4.17.20
lodash.pick
>= 4.0.0, <= 4.4.0
Отсутствует
lodash.set
>= 3.7.0, <= 4.3.2
Отсутствует
lodash.setwith
<= 4.3.2
Отсутствует
lodash.update
<= 4.10.2
Отсутствует
lodash.updatewith
<= 4.10.2
Отсутствует
Связанные уязвимости
Prototype pollution attack when using _.zipObjectDeep in lodash before 4.17.20.
Prototype pollution attack when using _.zipObjectDeep in lodash before 4.17.20.
Prototype pollution attack when using _.zipObjectDeep in lodash before 4.17.20.
Prototype pollution attack when using _.zipObjectDeep in lodash before ...
Уязвимость реализации метода _.zipObjectDeep() библиотеки Lodash, позволяющая нарушителю вызвать отказ в обслуживании или выполнить произвольный код