{"id":"GHSA-33f9-j839-rf8h","summary":"Prototype Pollution in immer","details":"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.","aliases":["CVE-2021-23436"],"modified":"2025-01-08T10:42:05.978063Z","published":"2021-09-02T17:17:37Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2021-09-02T16:57:31Z","nvd_published_at":"2021-09-01T18:15:00Z","cwe_ids":["CWE-1321","CWE-843"],"severity":"CRITICAL"},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2021-23436"},{"type":"WEB","url":"https://github.com/immerjs/immer/commit/fa671e55ee9bd42ae08cc239102b665a23958237"},{"type":"PACKAGE","url":"https://github.com/immerjs/immer"},{"type":"WEB","url":"https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1579266"},{"type":"WEB","url":"https://snyk.io/vuln/SNYK-JS-IMMER-1540542"}],"affected":[{"package":{"name":"immer","ecosystem":"npm","purl":"pkg:npm/immer"},"ranges":[{"type":"SEMVER","events":[{"introduced":"7.0.0"},{"fixed":"9.0.6"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/09/GHSA-33f9-j839-rf8h/GHSA-33f9-j839-rf8h.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}