CVE-2022-37616:
Withdrawn: Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in @xmldom/xmldom and xmldom
9.8
CVSS ScoreBasic Information
CVE ID
GHSA ID
EPSS Score
-
CWE
Published
10/11/2022
Updated
2/2/2023
KEV Status
No
Technology
JavaScript
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
xmldom | npm | <= 0.6.0 | |
@xmldom/xmldom | npm | = 0.9.0-beta.1 | 0.9.0-beta.2 |
@xmldom/xmldom | npm | >= 0.8.0, < 0.8.3 | 0.8.3 |
@xmldom/xmldom | npm | < 0.7.6 | 0.7.6 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability report explicitly identifies the 'copy' function in dom.js as the source of prototype pollution. The function iterates over all enumerable properties (including prototype chain properties) via 'for (var p in src)' without hasOwnProperty checks. The fix in PR #437 added hasOwnProperty checks to prevent this, confirming the vulnerability. The code snippets from dom.js show the unpatched version of this function, and multiple advisories reference this as the root cause.