GitHub Advisoryadvisory · npm
GHSA-p9pc-299p-vxgp yargs-parser Vulnerable to Prototype Pollution
MEDIUM
Official page ↗
- Aliases
- CVE-2020-7608
- Ecosystem
- npm
- Packages
- yargs-parser
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
- Weaknesses
- CWE-1321, CWE-915
- Reviewed
- 2020-08-31
Affected packages
• npm yargs-parser: >= 6.0.0, < 13.1.2 → fixed in 13.1.2
• npm yargs-parser: >= 14.0.0, < 15.0.1 → fixed in 15.0.1
• npm yargs-parser: >= 16.0.0, < 18.1.1 → fixed in 18.1.1
• npm yargs-parser: < 5.0.1 → fixed in 5.0.1
Description
Affected versions of `yargs-parser` 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 `--foo.__proto__.bar baz'` adds a `bar` property with value `baz` to all objects. This is only exploitable if attackers have control over the arguments being passed to `yargs-parser`.
Recommendation
Upgrade to versions 13.1.2, 15.0.1, 18.1.1 or later.
Related
Alias · CVE (1)
- CVE-2020-7608 yargs-parser could be tricked into adding or modifying properties of Object.prototype using a "__proto__" payload. vulnerability
References
- https://nvd.nist.gov/vuln/detail/CVE-2020-7608 advisory
- https://github.com/yargs/yargs-parser/commit/1c417bd0b42b09c475ee881e36d292af4fa2cc36 web
- https://github.com/yargs/yargs-parser/commit/63810ca1ae1a24b08293a4d971e70e058c7a41e2 web
- https://github.com/yargs/yargs-parser package
- https://snyk.io/vuln/SNYK-JS-YARGSPARSER-560381 web
- https://www.npmjs.com/advisories/1500 web