CVE-2021-23436 Prototype Pollution
Prototype pollution in immer allows attackers to bypass previous security fixes via array-based path parameters, potentially leading to code execution.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2021-23436?
CVE-2021-23436 is a medium-severity vulnerability in immer, published on 1 Sep 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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.
Weakness: CWE-843
Which versions are affected by CVE-2021-23436?
2 open source packages ship an affected version, including immer. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
immer npm | From 7.0.0 | 9.0.6 |
immer npm | From 7.0.0 | 9.0.6 |
Products include Immer Project Immer.
How do I fix CVE-2021-23436?
Upgrade immer to 9.0.6 or later.
Is CVE-2021-23436 being exploited?
There is no known exploitation of CVE-2021-23436 in the wild and no public exploit code.
Other vulnerabilities in immer
Sources
Also known as GHSA-33f9-j839-rf8h, ROOT-APP-NPM-CVE-2021-23436.