← back
CVE-2026-41674highCWE-91

xmldom: XML injection through unvalidated DocumentType serialization

21Vexday Risk Score

No sign of exploitation. No public exploitation artifact known so far.

ssvc Trackcvss 8.7epss 0.5%
exploitation probability
0.5%top 63% of all CVEs
observed exploitation
nono source reports it
In short

The xmldom library doesn't properly escape special characters when converting XML documents to strings, allowing attackers to inject malicious XML code through the DOCTYPE declaration. This can lead to security bypasses or injection attacks in applications that process untrusted XML data.

Technical detail

The vulnerability exists in XMLSerializer.serializeToString when serializing DocumentType nodes; attacker-controlled publicId, systemId, and internalSubset fields are written without escaping, enabling DOCTYPE injection that terminates the declaration early and inserts arbitrary markup. Exploitation requires an attacker to control DocumentType fields in XML processing workflows, potentially leading to XXE or XML injection attacks.

Summary generated and translated by AI from the official description.
xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) `DOMParser` and `XMLSerializer` module. In @xmldom/xmldom prior to versions 0.9.10 and 0.8.13 and xmldom version 0.6.0 and prior, the package serializes DocumentType node fields (internalSubset, publicId, systemId) verbatim without any escaping or validation. When these fields are set programmatically to attacker-controlled strings, XMLSerializer.serializeToString can produce output where the DOCTYPE declaration is terminated early and arbitrary markup appears outside it. This issue has been patched in versions @xmldom/xmldom versions 0.9.10 and 0.8.13.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Affected products
xmldom · xmldom