Impact
xmldom, a JavaScript DOM implementation, allows developers to create elements with arbitrary tag names. The library bypasses the well‑formedness check for element names, letting malicious tag names contain attribute and processing instruction syntax. When the XML is later serialized, these injections are emitted verbatim, potentially introducing JavaScript into browser‑consumed content and enabling cross‑site scripting. The weakness is a form of resource injection and violates the XML QName constraint.
Affected Systems
The vulnerability affects versions of @xmldom/xmldom prior to 0.8.14 and 0.9.11, as well as xmldom version 0.6.0 and older. Any project that imports these libraries and uses Document.createElement before serialization is at risk. The issue is not tied to a specific operating system or runtime, but to JavaScript environments that include or depend on this library.
Risk and Exploitability
The CVSS score of 8.7 indicates high severity, and the EPSS score is unavailable, so the exact exploitation probability is unclear, but the lack of validation gives attackers a clear attack surface when they control the arguments to createElement. The vulnerability is not listed in the CISA KEV catalog. Likely exploitation requires an attacker to supply tag names in code that runs xmldom, such as a malicious JSON payload or a UI that passes user input directly to createElement. Once the serialized XML/HTML reaches a browser, the injected markup can execute in the page context.
OpenCVE Enrichment
Github GHSA