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.
Problem types
CWE-91: XML Injection (aka Blind XPath Injection)
Product status
@xmldom/xmldom >= 0.9.0, < 0.9.10
@xmldom/xmldom < 0.8.13
References
github.com/...xmldom/security/advisories/GHSA-f6ww-3ggp-fr8h
github.com/...xmldom/security/advisories/GHSA-f6ww-3ggp-fr8h
github.com/...ommit/372008f9ae0e20fd69f761c7b79e202598267314
github.com/xmldom/xmldom/releases/tag/0.8.13
github.com/xmldom/xmldom/releases/tag/0.9.10