CVE-2021-23436
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.
Does this matter?
High impact if exploited, but EPSS currently rates exploitation as unlikely (1.78%). Schedule it in the normal patch cycle and watch for a rise in EPSS or a public exploit.
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 3.1
- 9.8 CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- EPSS
- 1.78% probability · 77th percentile
- CISA KEV
- Not listed
- Weakness
- CWE-843
- Affected
- immer project/immer
- Source
- report@snyk.io
References
- https://github.com/immerjs/immer/commit/fa671e55ee9bd42ae08cc239102b665a23958237Patch, Third Party Advisory
- https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1579266Exploit, Patch, Third Party Advisory
- https://snyk.io/vuln/SNYK-JS-IMMER-1540542Exploit, Patch, Third Party Advisory
- https://github.com/immerjs/immer/commit/fa671e55ee9bd42ae08cc239102b665a23958237Patch, Third Party Advisory
- https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1579266Exploit, Patch, Third Party Advisory
- https://snyk.io/vuln/SNYK-JS-IMMER-1540542Exploit, Patch, Third Party Advisory
Source: NVD record, EPSS from FIRST.org, KEV from CISA. Refreshed daily.