CVE-2021-23436: immer_project immer Type Confusion
Vulnerability summary
CVE-2021-23436 is a critical (CVSS 9.8) Type Confusion vulnerability in immer_project immer. EPSS estimates a 1.78% chance of exploitation in the next 30 days, higher than 78% of scored vulnerabilities. 2 public exploits are recorded.
Timeline
- 01-09-2021PublishedVulnerability first disclosed.
- 16-09-2024Last modifiedVulnerability information updated.
Description
This affects the package immer before 9.0.6. A type confusion vulnerability can lead to a bypass of CVE-2020-28477 when the user-provided keys used in the path parameter are arrays. In particular, this bypass is possible because the condition (p === "__proto__" || p === "constructor") in applyPatches_ returns false if p is ['__proto__'] (or ['constructor']). The === operator (strict equality operator) returns false if the operands have different type.
CVSS metrics
4 scores · 3 sources · 2 versions- CVE.orgCNA5.6MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P/RL:O/RC:CDiffers
- OSV · NpmEcosystem advisory · calculated9.8CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS trend
Probability
1.78%
Chance of exploitation in the next 30 days
Percentile
78%
Versus all other CVEs
30-day change
0.00 pp
From 1.78% on 21-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
2 foundExploit Reference (snyk.io)
Maturity: unknown
Exploit Reference (snyk.io)
Maturity: unknown
Weaknesses
CWE · root causeAffected systems
Immer_project1 product
- immer< 9.0.6
Npm1 product
- immer≥ 7.0.0, < 9.0.6
2 vendors · 2 products
References
5 links- github.com/immerjs/immer/commit/fa671e55ee9bd42ae08cc239102b665a23958237X Refsource MISCWEBPatchThird Party Advisory
- github.com/immerjs/immerPACKAGE