CVE-2026-11573
largeStack-exhaustion DoS in Qt QDomDocument XML serialization (QtXml)
An uncontrolled recursion flaw (CWE-674) in the serialization path of Qt's QtXml module lets a deeply nested, attacker-supplied XML document drive unbounded recursive calls that exhaust the process stack. Any application that embeds an affected Qt build and serializes untrusted XML through QDomDocument — e.g., when saving, converting, or re-emitting XML received from users, files, or network feeds — can be crashed by a crafted document with excessive nesting depth. The impact is denial of service only: the CVSS 4.0 score of 7.1 (AV:N/AC:L/AT:N/PR:N/UI:P/VA:H, no confidentiality or integrity impact) indicates the attacker gains availability loss, not code execution or data access. Affected parties are operators of Qt-based desktop and embedded applications that process untrusted XML with QDomDocument; the available data does not specify exact affected or fixed version ranges. There is no evidence of exploitation so far: no public proof of concept, not listed in CISA KEV, and EPSS puts the 30-day exploitation probability at only 0.3% (24th percentile).
What to do: Inventory applications and appliances that bundle Qt and use QDomDocument to serialize untrusted XML, then apply the patched Qt release referenced in the vendor advisory once identified (no fixed version was given in the available data). As an interim mitigation, validate and cap the nesting depth of untrusted XML, or route untrusted-input XML serialization through a hardened component. Given no public PoC and low EPSS, this is low-urgency, but re-check KEV/EPSS status before triage prioritization.
| Qt (The Qt Company / Qt Project) QtXml module — QDomDocument serialization | — |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
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.
- Weakness
- CWE-674
- 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.