Description
Uncontrolled recursion (CWE-674) in the QDomDocument/QDomNode serialization path of the Qt XML module (QtXml, qtbase). QDomElementPrivate::save() and QDomNodePrivate::save() recurse mutually, consuming one stack frame per level of element nesting with no depth limit, no configurable bound and no error return. A document with deeply nested elements parses successfully but exhausts the call stack and terminates the process when serialized. Reachable via QDomDocument::toByteArray() (Qt 4.0 and later), QDomDocument::toString(), QDomDocument::toCString(), QDomNode::save(), and operator<<(QTextStream&, const QDomNode&). Denial of service only — no code execution and no memory disclosure.
Published: 2026-09-08
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Monitor
AI Analysis

Impact

Uncontrolled recursion (CWE‑674) occurs in Qt's XML serialization path when QDomElementPrivate::save() and QDomNodePrivate::save() call each other recursively without a depth limit or error return. Each nested element consumes one stack frame, so a document with deep nesting will parse but when serialized (for example with QDomDocument::toByteArray or QDomDocument::toString) the stack overflows, causing the process to terminatetrusted XML or SVG document and results in a denial of service; there is no code execution or memory disclosure.

Affected Systems

The issue is present in Qt (the QtXml component). Any installation of the Qt framework that employs QDomDocument::toByteArray for parsing SVG or other XML content is affected; no specific version numbers are supplied, so all current Qt releases that use this method may be vulnerable.

Risk and Exploitability

The severity is medium‑to‑high with a CVSS score of 7.1. The EPSS score is below 1%, indicating a very low probability of exploitation at present. The vulnerability is not listed in the CISA KEV catalog. It can be triggered via any untrusted XML or SVG input, so the likely attack vector is remote delivering malformed files to a Qt‑powered application. While no public exploits exist, the widespread deployment of Qt makes this denial of service a significant concern if unpatched.

Generated by OpenCVE AI on September 11, 2026 at 10:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the vendor‑issued patch or upgrade to the latest Qt release that incorporates the recursion‑control fix.
  • If upgrading is not immediately possible, restrict the maximum depth of XML processed by QDomDocument::toByteArray for untrusted sources to mitigate stack exhaustion.
  • Enable application crash monitoring and log analysis to detect and respond to repeated crashes caused by malformed SVG or XML input.

Generated by OpenCVE AI on September 11, 2026 at 10:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 11 Sep 2026 09:45:00 +0000

Type Values Removed Values Added
Description Uncontrolled recursion in Qt's QDomDocument serialization (QtXml) lets deeply nested untrusted XML crash the app via stack exhaustion (DoS only). Uncontrolled recursion (CWE-674) in the QDomDocument/QDomNode serialization path of the Qt XML module (QtXml, qtbase). QDomElementPrivate::save() and QDomNodePrivate::save() recurse mutually, consuming one stack frame per level of element nesting with no depth limit, no configurable bound and no error return. A document with deeply nested elements parses successfully but exhausts the call stack and terminates the process when serialized. Reachable via QDomDocument::toByteArray() (Qt 4.0 and later), QDomDocument::toString(), QDomDocument::toCString(), QDomNode::save(), and operator<<(QTextStream&, const QDomNode&). Denial of service only — no code execution and no memory disclosure.
Title QDomDocument::toByteArray() crashes when parsing svg file Uncontrolled recursion in QDomDocument/QDomNode serialization causes stack exhaustion (QtXml)

Wed, 09 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-776
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, 08 Sep 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 08 Sep 2026 12:30:00 +0000

Type Values Removed Values Added
Description Uncontrolled recursion in Qt's QDomDocument serialization (QtXml) lets deeply nested untrusted XML crash the app via stack exhaustion (DoS only).
Title QDomDocument::toByteArray() crashes when parsing svg file
First Time appeared Qt
Qt qt
Weaknesses CWE-674
CPEs cpe:2.3:a:qt:qt:*:*:*:*:*:*:*:*
Vendors & Products Qt
Qt qt
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: Qt

Published:

Updated: 2026-09-11T09:31:34.532Z

Reserved: 2026-06-08T10:01:44.921Z

Link: CVE-2026-11573

cve-icon Vulnrichment

Updated: 2026-09-08T13:48:58.466Z

cve-icon NVD

Status : Deferred

Published: 2026-09-08T13:17:17.007

Modified: 2026-09-11T10:16:50.500

Link: CVE-2026-11573

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-08T12:06:08Z

Links: CVE-2026-11573 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-11T10:30:09Z

Weaknesses
  • CWE-674

    Uncontrolled Recursion

  • CWE-776

    Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')