xmldom is a pure JavaScript W3C standard-based (XML DOM Level 2 Core) DOMParser and XMLSerializer module. Prior to @xmldom/xmldom versions 0.8.15 and 0.9.12, and in xmldom version 0.6.0 and earlier, Document.createProcessingInstruction(target, data) in lib/dom.js accepts an unvalidated target, while the requireWellFormed: true serializer checks only for a colon and the reserved case-insensitive xml name on 0.9.x and performs no target check on 0.8.x. Because serialization emits , a target containing >, ?, whitespace, or another invalid XML-name character can break the processing-instruction boundary and inject XML structure. This issue is fixed in @xmldom/xmldom versions 0.8.15 and 0.9.12; no fixed version is available for xmldom.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-91"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/83xxx/CVE-2026-83616.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "0.6.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "0.7.0"
},
{
"fixed": "0.8.15"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "0.9.0"
},
{
"fixed": "0.9.12"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "1cde3e31a07c41c87cfd368d6946aa477f16b4f9"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "3b694872bcb5c7e3cbadba961a4be2488750ce5b"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "0.8.15",
"range": [
{
"fixed": "b5b8fb5b579ae1183b34e74b3bc39d7eb50a226a"
}
],
"source": "REFERENCES_TAG"
},
{
"original_tag": "0.9.12",
"range": [
{
"fixed": "0af8cf829d8a92bbac612903422c6947f5458f06"
}
],
"source": "REFERENCES_TAG"
}
]
}