Описание
Uncontrolled recursion in Qt's QDomDocument serialization (QtXml) lets deeply nested untrusted XML crash the app via stack exhaustion (DoS only).
A flaw was found in qtbase. Uncontrolled recursion in Qt's QDomDocument serialization (QtXml) allows a remote attacker to provide deeply nested untrusted XML, leading to stack exhaustion. This can cause the application to crash, resulting in a Denial of Service (DoS).
Меры по смягчению последствий
To mitigate this issue, applications that use Qt's QDomDocument for XML serialization should avoid processing untrusted XML input. If processing untrusted XML is unavoidable, implement robust input validation and sanitization to prevent deeply nested structures before passing the data to the QtXml component. This requires application-level changes or careful operational procedures to ensure only trusted XML is processed.
Затронутые пакеты
| Платформа | Пакет | Состояние | Рекомендация | Релиз |
|---|---|---|---|---|
| Red Hat Enterprise Linux 10 | qt6-qtbase | Affected | ||
| Red Hat Enterprise Linux 7 | qt5-qtbase | Not affected | ||
| Red Hat Enterprise Linux 8 | qt5-qtbase | Not affected | ||
| Red Hat Enterprise Linux 9 | qt5-qtbase | Not affected | ||
| Red Hat Hardened Images | qt5-qtbase | Not affected | ||
| Red Hat Hardened Images | qt6-qtbase | Not affected |
Показывать по
Дополнительная информация
Статус:
EPSS
7.5 High
CVSS3
Связанные уязвимости
(Uncontrolled recursion (CWE-674) in the QDomDocument/QDomNode serializ ...)
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.
Uncontrolled recursion in QDomDocument/QDomNode serialization causes stack exhaustion (QtXml)
Uncontrolled recursion (CWE-674) in the QDomDocument/QDomNode serializ ...
Uncontrolled recursion in Qt's QDomDocument serialization (QtXml) lets deeply nested untrusted XML crash the app via stack exhaustion (DoS only).
EPSS
7.5 High
CVSS3