Description
A prototype pollution vulnerability exists in the function copy in dom.js in the xmldom (published as @xmldom/xmldom) package before 0.8.3 for Node.js via the p variable. NOTE: the vendor states "we are in the process of marking this report as invalid"; however, some third parties takes the position that "A prototype injection/Prototype pollution is not just when global objects are polluted with recursive merge or deep cloning but also when a target object is polluted."
Remediation
References
http://users.encs.concordia.ca/~mmannan/publications/JS-vulnerability-aisaccs2022.pdf
https://dl.acm.org/doi/abs/10.1145/3488932.3497769
https://dl.acm.org/doi/pdf/10.1145/3488932.3497769
https://github.com/xmldom/xmldom/blob/bc36efddf9948aba15618f85dc1addfc2ac9d7b2/lib/dom.js#L1
https://github.com/xmldom/xmldom/blob/bc36efddf9948aba15618f85dc1addfc2ac9d7b2/lib/dom.js#L3
https://github.com/xmldom/xmldom/issues/436
https://github.com/xmldom/xmldom/issues/436#issuecomment-1319412826
https://github.com/xmldom/xmldom/issues/436#issuecomment-1327776560
https://github.com/xmldom/xmldom/security/advisories/GHSA-9pgh-qqpf-7wqj
https://lists.debian.org/debian-lts-announce/2022/10/msg00023.html
Related Vulnerabilities
CVE-2021-23442 Vulnerability in npm package @cookiex/deep
CVE-2021-39235 Vulnerability in maven package org.apache.ozone:ozone-main
CVE-2018-1336 Vulnerability in maven package org.apache.tomcat.embed:tomcat-embed-core
CVE-2020-15256 Vulnerability in npm package object-path
CVE-2020-2257 Vulnerability in maven package org.jenkins-ci.plugins:validating-string-parameter