Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Qt application serializing untrusted content
-
DeliverySupply input containing XML node terminator sequence
-
ExploitApplication passes raw string to QDom comment/CDATA/PI node
-
ExecutionQDom writes terminator unescaped under AcceptInvalidChars policy
-
PersistXML node boundary broken, arbitrary markup injected
-
ImpactDownstream consumer processes attacker-influenced XML structure
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization XPath query parameterization
|
| Exploitation Conditions | Exploitation requires three concurrent application-layer conditions: (1) the application uses Qt 4.0.0 through 6.11 and calls QDom serialization APIs to write comment, CDATA, or processing-instruction nodes; (2) the content of those nodes originates from or is influenced by attacker-controlled input (e.g., user-supplied strings, external data feeds, network-received content); and (3) the application has not overridden the default InvalidDataPolicy from AcceptInvalidChars to a stricter mode. The AT:P (Attack Timing: Prerequisite) metric in the provided CVSS 4.0 vector formally encodes these prerequisites. Exploitation is bounded to integrity impact only - there is no path to confidentiality disclosure or denial of service from this vulnerability alone. Applications that use Qt for GUI rendering, multimedia, or network protocols without invoking QDom serialization on untrusted data are not exploitable. The vulnerability does not exist at the Qt library loading or linking layer - only at the serialization call site. |
| Impact | Multiple signals converge on a low-to-moderate real-world risk rating. The CVSS 4.0 base score of 2.9 incorporates AT:P (Attack Timing: Prerequisite), explicitly modeling that exploitation depends on a specific application-layer condition - the target application must serialize attacker-supplied text through one of the three vulnerable QDom node types. The threat metric E:P ('proof-of-concept exists') slightly elevates risk above purely theoretical, but no KEV listing confirms mass or targeted exploitation. EPSS data was not provided. The CVSS 4.0 impact metrics confirm the scope is narrow: VI:L (low integrity impact) with no confidentiality or availability impact (VC:N, VA:N). The practical risk to any given organization is therefore a function of their Qt application portfolio: organizations shipping Qt-based software that processes untrusted XML or user content through QDom have genuine integrity risk (malformed or malicious XML documents produced); organizations using Qt only for internal tooling or GUI rendering with no untrusted serialization path face negligible exposure. No conflicting signals are present - all available data consistently points to a low-severity, context-dependent issue. |
| Exploit ScenarioDerived | An attacker interacts with a network-facing Qt application that accepts user-supplied text and serializes it into an XML document using QDom - for example, a CDATA section in a configuration or data export feature. By including the string ']]><maliciousElement/><![CDATA[' in their input, the attacker causes the CDATA terminator to be written unescaped, closing the legitimate CDATA node and injecting an arbitrary XML element into the document before reopening a new CDATA section. The E:P threat metric in the CVSS 4.0 vector suggests proof-of-concept code exists, making this a well-understood injection class that requires no advanced tradecraft once a vulnerable serialization path is identified. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 23, 2026
XML injection in Qt's QDom serialization component (versions 4.0.0 through 6.11) allows untrusted text passed to comment, CDATA, and processing-instruction nodes to break out of those structures and inject arbitrary XML markup into serialized output, because the default InvalidDataPolicy (AcceptInvalidChars) does not escape node terminators such as '-->', ']]>', or '?>'. The CVSS 4.0 score of 2.9 reflects an attack timing prerequisite (AT:P) - only applications that actively pass attacker-controlled content through QDom serialization are exploitable; the Qt library itself is not a standalone attack surface. No public exploit is identified at time of analysis, and this vulnerability is not listed in the CISA KEV catalog, though the CVSS 4.0 threat metric E:P suggests proof-of-concept code may exist.
RemediationAI
Upgrade to Qt 6.12 or later, which resolves the missing escape logic for node terminator sequences in QDom comment, CDATA, and processing-instruction serialization. The patch is visible at https://codereview.qt-project.org/c/qt/qtbase/+/748323; note that this is a Qt code review submission - the packaged Qt 6.12 release should be sourced from the official Qt distribution channels. For applications that cannot upgrade immediately, apply input sanitization at the application boundary before passing untrusted data to QDom APIs: strip or reject '-->' sequences from content destined for comment nodes, ']]>' from CDATA content, and '?>' from processing-instruction data. As an alternative, consider switching the QDom InvalidDataPolicy away from the default AcceptInvalidChars mode so that invalid characters cause an error or are dropped - this prevents injection but may surface previously silent data quality issues. Applications that exclusively serialize trusted, internally generated content with no user-controlled values flowing into QDom comment, CDATA, or PI nodes are not at risk and do not require emergency remediation.
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
Qt's QDom module provides a W3C DOM-level API for constructing and serializing XML documents. Three node types - comments (<!-- -->), CDATA sections (<![CDATA[ ]]>), and processing instructions (<?target data?>) - each have specific ASCII terminator sequences that must be absent from their content to preserve well-formed XML structure. Qt's serializer defaults to the AcceptInvalidChars mode of InvalidDataPolicy, which writes user-supplied content verbatim without escaping or rejecting these terminators. CWE-91 (XML Injection, also known as Blind XPath Injection in its broader form) precisely captures this root cause: user-controlled data flows into an XML-generating function without proper output neutralization, enabling structural injection. The affected CPE is cpe:2.3:a:qt:qt:*:*:*:*:*:*:*:*, spanning all Qt releases from 4.0.0 through 6.11 across every platform Qt supports (Linux, Windows, macOS, embedded targets).
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:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P
AC:H captures that exploitation depends on the application serializing attacker-controlled data through QDom, a condition beyond the attacker's direct control; no confidentiality or availability impact applies.
Primary rating from Vendor (TQtC).
CVSS VectorVendor: TQtC
DescriptionCVE.org
Improper output neutralization (XML injection) in QDom comment, CDATA, and processing-instruction serialization in Qt XML from 4.0.0 through 6.11 allows untrusted text serialized by an application into those nodes to inject arbitrary XML markup, because the node terminators are not escaped under the default InvalidDataPolicy (AcceptInvalidChars). Fixed in Qt 6.12.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
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-48254
GHSA-7xx4-xq65-r6v3
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB