Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in lodash
CVE-2019-10744
- lodash
- lodash-amd
- lodash.defaultsdeep
- lodash-es
- @sailshq/lodash
Summary
A Prototype Pollution vulnerability was discovered in lodash prior to 4.17.12, in lodash.defaultsdeep prior to 4.6.1, and in @sailshq/lodash prior to 3.10.4. The function 'defaultsDeep' allows a malicious user to modify the prototype of Object via '{constructor: {prototype: {...}}}' causing the addition or modification of an existing property that will exist on all objects.
- LOW
- NETWORK
- HIGH
- UNCHANGED
- NONE
- NONE
- NONE
- HIGH
CWE-1321 - Prototype Pollution
Prototype pollution is one of the lesser-known vulnerabilities. It allows attackers to abuse the rules of JavaScript by injecting properties into the general object “Object” in JS. Modifying the prototype of “Object” affects the behavior of all objects in the entire app, potentially resulting in denial of service, arbitrary code execution, cross-site scripting, etc.
References
Advisory Timeline
- Published