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-2018-14720 Vulnerability in maven package com.fasterxml.jackson.core:jackson-databind
CVE-2016-10688 Vulnerability in npm package haxe3
CVE-2022-36025 Vulnerability in maven package org.hyperledger.besu:evm
CVE-2023-45133 Vulnerability in maven package org.webjars.npm:babel-traverse
CVE-2020-7780 Vulnerability in maven package com.softwaremill.akka-http-session:core_2.13