CVE-2026-83616: xmldom: Processing Instruction Target Injection Bypasses requireWellFormed
Document.createProcessingInstruction() in @xmldom/xmldom performs no validation on the target parameter. The requireWellFormed: true serializer option validates only for : in the target and a case-insensitive xml prefix, but does not check for > characters. A > in the target breaks the processing instruction boundary (<?...?>), allowing injection of arbitrary content into the serialized XML output.
References
- github.com/advisories/GHSA-c7q8-3ch8-vqpv
- github.com/xmldom/xmldom/commit/1cde3e31a07c41c87cfd368d6946aa477f16b4f9
- github.com/xmldom/xmldom/commit/3b694872bcb5c7e3cbadba961a4be2488750ce5b
- github.com/xmldom/xmldom/pull/1071
- github.com/xmldom/xmldom/pull/1072
- github.com/xmldom/xmldom/releases/tag/0.8.15
- github.com/xmldom/xmldom/releases/tag/0.9.12
- github.com/xmldom/xmldom/security/advisories/GHSA-c7q8-3ch8-vqpv
- nvd.nist.gov/vuln/detail/CVE-2026-83616
Code Behaviors & Features
Detect and mitigate CVE-2026-83616 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →