Description
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 versions 0.1.5 through 0.6.0, appendElement in lib/sax.js uses _copy to clone the complete currentNSMap for each nested element that declares a new namespace prefix. Keeping every ancestor map live on the parse stack creates quadratic peak namespace-map storage, so a small highly compressible XML document can exhaust the process heap before application validation. This issue is fixed in @xmldom/xmldom versions 0.8.15 and 0.9.12; no fixed version is available for xmldom.
Published: 2026-09-01
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via uncontrolled memory consumption
Action: Apply patch
AI Analysis

Impact

A flaw in the library’s XML parsing routine repeatedly copies a namespace map for each element that introduces a new prefix, creating a quadratic increase in memory usage with each nested element. This unchecked growth can quickly exhaust process heap space and crash the application, resulting in a denial‑of‑service condition. The weakness is a classic example of uncontrolled resource consumption (CWE‑770).

Affected Systems

The problem exists in the @xmldom/xmldom package and the older xmldom distribution. For @xmldom/xmldom, any release before 0.8.15 or 0.9.12 is affected; the corresponding older xmldom versions 0.1.5 through 0.6.0 are also vulnerable. The 0.8.15 and 0.9.12 releases include a fix that stops the namespace‑map duplication and should be adopted where possible.

Risk and Exploitability

The CVSS score of 8.7 marks the weakness as high severity. An attacker can trigger the issue by supplying a carefully crafted XML payload to any instance of the parser that processes untrusted data. Although EPSS is not available, the absence of any CISA KEV listing does not diminish the need for remediation. The vulnerability is exploitable in any environment that incorporates the affected library, and the attack vector is likely remote via network or local file injection.

Generated by OpenCVE AI on September 1, 2026 at 17:04 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade @xmldom/xmldom to version 0.8.15 or later (or any patch that includes the fix).
  • If an immediate upgrade is not possible, enforce strict XML input size limits and validate documents before parsing to mitigate the risk of excessive memory allocation while a patch is pending.
  • If upgrading or limiting input size is infeasible, consider replacing the library with a maintained fork that applies the fix or use an alternative XML parser that implements resource controls.

Generated by OpenCVE AI on September 1, 2026 at 17:04 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-965w-775f-mr7g xmldom: Quadratic-memory consumption
History

Fri, 04 Sep 2026 09:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 02 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Important


Tue, 01 Sep 2026 22:00:00 +0000

Type Values Removed Values Added
First Time appeared Xmldom
Xmldom xmldom
Vendors & Products Xmldom
Xmldom xmldom

Tue, 01 Sep 2026 15:00:00 +0000

Type Values Removed Values Added
Description 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 versions 0.1.5 through 0.6.0, appendElement in lib/sax.js uses _copy to clone the complete currentNSMap for each nested element that declares a new namespace prefix. Keeping every ancestor map live on the parse stack creates quadratic peak namespace-map storage, so a small highly compressible XML document can exhaust the process heap before application validation. This issue is fixed in @xmldom/xmldom versions 0.8.15 and 0.9.12; no fixed version is available for xmldom.
Title xmldom: Quadratic-memory consumption
Weaknesses CWE-770
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-03T15:57:05.853Z

Reserved: 2026-08-31T20:36:25.744Z

Link: CVE-2026-83615

cve-icon Vulnrichment

Updated: 2026-09-03T15:56:34.203Z

cve-icon NVD

Status : Deferred

Published: 2026-09-01T15:17:39.887

Modified: 2026-09-08T21:11:31.703

Link: CVE-2026-83615

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-01T14:44:05Z

Links: CVE-2026-83615 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-01T17:15:05Z

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling