CVE-2026-83615: xmldom: Quadratic-memory consumption
When an element declares a namespace prefix, xmldom copies the entire in-scope namespace map into a fresh object and keeps that copy on the element while it is open on the parse stack. A crafted document that nests N elements, each declaring one unique prefix, therefore drives the parser to hold on the order of N(N+1)/2 = O(N²) namespace-map entries at its peak, so a small, highly compressible input exhausts the heap. Parsing runs under default options on untrusted, network-delivered XML, so a sub-megabyte payload can OOM-crash the process before any application-level validation runs — an unauthenticated denial of service.
References
- github.com/advisories/GHSA-965w-775f-mr7g
- github.com/xmldom/xmldom/commit/954370f58c046223faf95ba77efcbc8ce014409d
- github.com/xmldom/xmldom/commit/dabffe884e864eeecb1f515c716f875e1bc47ec1
- 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-965w-775f-mr7g
- nvd.nist.gov/vuln/detail/CVE-2026-83615
Code Behaviors & Features
Detect and mitigate CVE-2026-83615 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →