Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft deeply nested XML document
-
DeliveryDeliver to Qt app parsing untrusted XML
-
ExploitTrigger unbounded recursion in readElementText()
-
ExecutionExhaust call stack
-
ImpactApplication crashes (DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
|
| Exploitation Conditions | Exploitation requires the target application to be built on Qt (versions 5.0.0-6.8.8 or 6.9.0-6.11.1) AND to call QXmlStreamReader::readElementText() on attacker-controlled or attacker-influenced XML input. The attacker must supply a crafted XML document with sufficient element nesting to exhaust the stack; per the CVSS 4.0 vector, this involves an attack requirement (AT:P) and passive user interaction (UI:P), i.e., the user or application must process the malicious document. Limiting factors: applications that never parse untrusted XML, or that use a different parsing API, are not exposed; impact is a recoverable single-application crash (R:U) with no code execution or data compromise. |
| Impact | This is a genuinely low-priority issue despite Qt's massive install base. The reported CVSS 4.0 base is only 2.3, driven by availability-only impact (VC:N/VI:N/VA:H) plus threat/supplemental modifiers (E:U = no known exploit, R:U = user-recoverable via restart, U:Green). The attack vector is network (AV:N) but exploitation carries an attack requirement (AT:P) and passive user interaction (UI:P), meaning the target application must actually feed an attacker-supplied XML document into QXmlStreamReader::readElementText(). Impact is confined to a single application crash from stack exhaustion - no memory corruption, no code execution, no confidentiality or integrity loss (CWE-674 uncontrolled recursion). No EPSS score, no CISA KEV listing, and no public POC are present in the provided data, so there is no evidence of active or automated exploitation. The one signal that raises the profile is prevalence: Qt underpins an enormous number of desktop, embedded, and automotive applications, so the theoretical exposure is wide - but real risk is gated by whether a given app parses untrusted XML with the affected API, and the worst case is a recoverable crash. Net: real but low priority; patch on normal cadence. |
| Exploit ScenarioDerived | An attacker crafts an XML document with deeply nested elements and delivers it to a Qt-based application that parses it with QXmlStreamReader::readElementText() (e.g., a document opened by the user or an XML payload received over the network). Parsing recurses without bound until the stack is exhausted and the application crashes. No public exploit code is identified at time of analysis, and the impact is limited to a denial of service of that single application. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 23, 2026
Stack exhaustion in Qt's QXmlStreamReader::readElementText() lets a crafted XML document with deeply nested elements crash applications built on Qt 5.0.0 through 6.8.8 or 6.9.0 through 6.11.1 that parse attacker-influenced XML through that API. The flaw is reachable by unauthenticated remote attackers (CVSS 4.0 PR:N) but requires the application, or a user, to actually process the malicious document (UI:P), and its only demonstrated impact is a recoverable crash of the parsing application - no code execution, data disclosure, or integrity loss. No public exploit identified at time of analysis; the supplied CVSS 4.0 base score is 2.3, making this a genuinely low-priority issue despite Qt's massive install base, and the vendor has published a patch.
RemediationAI
Vendor patch: Patch available per vendor advisory - the fix is published as QtBase change +/754345 at https://codereview.qt-project.org/c/qt/qtbase/+/754345; because the affected ranges extend to Qt 6.8.8 and 6.11.1, track the Qt release that incorporates this merge and upgrade QtBase/QtCore accordingly, verifying the commit is present in the tagged version you adopt (the provided data does not name an exact fixed release, so do not assume a version number). If immediate upgrade is not possible, the most direct compensating control is to validate or reject XML before it reaches readElementText() - for example, cap element nesting depth at a few hundred levels in your input pipeline or pre-scan for excessive depth and discard such documents; the trade-off is that legitimately deep XML will be rejected, so tune the threshold against real data. Parsing untrusted XML in a low-privilege subprocess or sandbox contains a stack-exhaustion crash to the parser process instead of a privileged or long-running service, at the cost of added IPC complexity; raising the thread stack size only increases the nesting depth required to crash and should not be treated as a fix. Applications that never call readElementText() on attacker-controlled input require no action; no public exploit code has been identified, so prioritization can follow normal patch-cycle cadence.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
QXmlStreamReader is Qt's streaming, forward-only XML pull parser implemented in QtBase/QtCore, and readElementText() walks the child element tree of the current element to return its text content. CWE-674 (Uncontrolled Recursion) is the root cause: the routine recurses once per nested child element without enforcing a maximum nesting depth, so an XML document containing tens of thousands of nested elements consumes one stack frame per level until the thread stack is exhausted, producing a stack overflow and application abort. The CPE cpe:2.3:a:qt:qt:*:*:*:*:*:*:*:* identifies the core Qt framework rather than individual applications, so real-world exposure is determined by downstream software that feeds untrusted XML to this specific API. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U) indicates network-reachable input, low attack complexity, no privileges required, passive user interaction, and high availability-only impact with a recoverable, confined outcome; the E:U (unproven) metric reflects that no exploit code is known. The independent assessment concurs via CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H, with the key prerequisite being that the application must call readElementText() on attacker-controlled or attacker-influenced XML - parsers using different XML APIs, or that never see untrusted XML, are not exposed.
Know when Qt gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U/S:N/AU:N/R:U/RE:L/U:Green
Remote crafted XML but requires the app to feed attacker-supplied input to the parser (UI:R); availability-only impact confined to the crashing application, so C:N/I:N/A:H, S:U.
Primary rating from Vendor (Qt).
CVSS VectorVendor: Qt
DescriptionCVE.org
Uncontrolled recursion in QXmlStreamReader::readElementText() in Qt Group Qt allows attackers to cause a denial of service (application crash via stack exhaustion) via a crafted XML document.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
setMarkdown in Qt before 5.14.2 has a use-after-free related to QTextMarkdownImporter::insertBlock. Rated critical sever
In Qt before 5.15.15, 6.x before 6.2.9, and 6.3.x through 6.5.x before 6.5.2, there can be an application crash in QXmlS
Qt 5.12.2 through 5.14.2, as used in unofficial builds of Mumble 1.3.0 and other products, mishandles OpenSSL's error qu
Uncontrolled search path in the QT Library before 5.14.0, 5.12.7 and 5.9.10 may allow an authenticated user to potential
An issue was discovered in the HTTP2 implementation in Qt before 5.15.17, 6.x before 6.2.11, 6.3.x through 6.5.x before
QAbstractOAuth in Qt Network Authorization in Qt before 5.15.17, 6.x before 6.2.13, 6.3.x through 6.5.x before 6.5.6, an
Qt for Android prior to 5.9.0 allows remote attackers to execute arbitrary OS commands via unspecified vectors. Rated cr
An issue was discovered in Qt before 5.11.3. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploita
Stack-based buffer overflow in QXmlSimpleReader in Qt 4.8.5 allows remote attackers to cause a denial of service (applic
Out-of-bounds read in Qt for MCUs occurs when an application passes a Latin-1-optimized string containing Latin-1 charac
An issue was discovered in Qt before 5.11.3. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable,
QXmlStream in Qt 5.x before 5.11.3 has a double-free or corruption during parsing of a specially crafted illegal XML doc
EUVD-2026-85238
GHSA-cpqc-q57w-7c2q
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB