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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| — | immer | unspecified – < 9.0.6 | 9.0.6 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | immer | >= 7.0.0, < 9.0.6 | 9.0.6 | GHSA-33f9-j839-rf8h |