Skip to main content

Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')


Severity Medium
Score 5.6/10


Affected versions of minimist are vulnerable to prototype pollution. Arguments are not properly sanitized, allowing an attacker to modify the prototype of Object, causing the addition or modification of an existing property that will exist on all objects. Parsing the argument --__proto__.y=Polluted adds a y property with value Polluted to all objects. The argument --__proto__=Polluted raises an uncaught error and crashes the application. This is exploitable if attackers have control over the arguments being passed to minimist.

  • HIGH
  • LOW
  • NONE
  • NONE
  • LOW
  • LOW

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.

Advisory Timeline

  • Published