{"id":"GHSA-4g77-cvgw-grvw","summary":"Prototype Pollution in putil-merge","details":"This affects the package putil-merge before 3.8.0. The merge() function does not check the values passed into the argument. An attacker can supply a malicious value by adjusting the value to include the constructor property. Note: This vulnerability derives from an incomplete fix in https://security.snyk.io/vuln/SNYK-JS-PUTILMERGE-1317077","aliases":["CVE-2021-23470","SNYK-JS-PUTILMERGE-2391487"],"modified":"2026-07-08T06:49:37.509092097Z","published":"2022-02-05T00:00:31Z","database_specific":{"cwe_ids":["CWE-1321"],"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2022-02-07T17:15:36Z","nvd_published_at":"2022-02-04T20:15:00Z"},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2021-23470"},{"type":"WEB","url":"https://github.com/panates/putil-merge/commit/476d00078dfb2827d7c9ee0f2392c81b864f7bc5"},{"type":"WEB","url":"https://github.com/panates/putil-merge"},{"type":"WEB","url":"https://snyk.io/vuln/SNYK-JS-PUTILMERGE-2391487"}],"affected":[{"package":{"name":"putil-merge","ecosystem":"npm","purl":"pkg:npm/putil-merge"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.8.0"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/02/GHSA-4g77-cvgw-grvw/GHSA-4g77-cvgw-grvw.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:N/I:L/A:H"}]}