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-2022-29249 Vulnerability in maven package io.github.javaezlib:javaez
CVE-2022-25839 Vulnerability in npm package url-js
CVE-2022-31692 Vulnerability in maven package org.springframework.security:spring-security-web
CVE-2017-16074 Vulnerability in npm package crossenv
CVE-2021-31403 Vulnerability in maven package com.vaadin:vaadin-server