Skip to main content

Qt EUVDEUVD-2026-85238

| CVE-2026-78253 LOW
Uncontrolled Recursion (CWE-674)
2026-09-23 Qt GHSA-cpqc-q57w-7c2q
2.3
CVSS 4.0 · Vendor: Qt
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft deeply nested XML document
  2. Delivery
    Deliver to Qt app parsing untrusted XML
  3. Exploit
    Trigger unbounded recursion in readElementText()
  4. Execution
    Exhaust call stack
  5. Impact
    Application 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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Qt 6.9.0 ≤6.11.1
Qt 5.0.0 ≤6.8.8

Affected Packages

euvd qt no fix

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

Vendor (Qt) PRIMARY 2.3 LOW
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
vuln.today AI 6.5 MEDIUM

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Qt).

CVSS VectorVendor: Qt

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.3%
Top 85% exploitable
Prevalence
High
Qt is a widely deployed cross-platform application framework across desktop and embedded
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Qt

View all
CVE-2020-12267 CRITICAL POC
9.8 Apr 27

setMarkdown in Qt before 5.14.2 has a use-after-free related to QTextMarkdownImporter::insertBlock. Rated critical sever

CVE-2023-37369 HIGH POC
7.5 Aug 20

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

CVE-2020-13962 HIGH POC
7.5 Jun 09

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

CVE-2020-0570 HIGH POC
7.3 Sep 14

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

CVE-2023-51714 CRITICAL
9.8 Dec 24

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

CVE-2024-36048 CRITICAL
9.8 May 18

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

CVE-2017-10904 CRITICAL
9.8 Dec 16

Qt for Android prior to 5.9.0 allows remote attackers to execute arbitrary OS commands via unspecified vectors. Rated cr

CVE-2018-19873 CRITICAL
9.8 Dec 26

An issue was discovered in Qt before 5.11.3. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploita

CVE-2016-10040 MEDIUM POC
5.5 Mar 07

Stack-based buffer overflow in QXmlSimpleReader in Qt 4.8.5 allows remote attackers to cause a denial of service (applic

CVE-2026-95509 HIGH
8.8 Sep 29

Out-of-bounds read in Qt for MCUs occurs when an application passes a Latin-1-optimized string containing Latin-1 charac

CVE-2018-19870 HIGH
8.8 Dec 26

An issue was discovered in Qt before 5.11.3. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable,

CVE-2018-15518 HIGH
8.8 Dec 26

QXmlStream in Qt 5.x before 5.11.3 has a double-free or corruption during parsing of a specially crafted illegal XML doc

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy