CVE-2023-37369
📋 TL;DR
This vulnerability in Qt's XML parsing component (QXmlStreamReader) allows a crafted XML string to trigger an application crash due to a buffer length miscalculation. It affects applications using vulnerable Qt versions for XML processing. The primary impact is denial of service through application crashes.
💻 Affected Systems
- Qt Framework
- Applications using Qt XML parsing
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete application crash leading to denial of service, potentially disrupting critical business functions if the application handles mission-critical XML data processing.
Likely Case
Application instability and crashes when processing malicious or malformed XML input, resulting in service disruption and potential data loss in active sessions.
If Mitigated
Limited impact with proper input validation and XML sanitization, though the underlying vulnerability remains present in the library.
🎯 Exploit Status
Exploitation requires sending a crafted XML string to trigger the crash. No authentication needed if the application accepts XML input.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Qt 5.15.15, Qt 6.2.9, Qt 6.5.2 or later
Vendor Advisory: https://bugreports.qt.io/browse/QTBUG-114829
Restart Required: Yes
Instructions:
1. Identify Qt version in use. 2. Update to patched version via package manager (apt, yum, brew) or Qt installer. 3. Recompile applications if using static linking. 4. Restart affected services.
🔧 Temporary Workarounds
XML Input Validation
allImplement strict XML validation and sanitization before passing to QXmlStreamReader
Rate Limiting XML Processing
allLimit XML processing requests to reduce DoS impact
🧯 If You Can't Patch
- Implement network-level XML filtering to block malformed XML patterns
- Deploy application-level XML schema validation before Qt processing
🔍 How to Verify
Check if Vulnerable:
Check Qt version: qmake --version or examine linked libraries in application
Check Version:
qmake --version | grep -i version
Verify Fix Applied:
Confirm Qt version is 5.15.15+, 6.2.9+, or 6.5.2+ and test XML parsing functionality
📡 Detection & Monitoring
Log Indicators:
- Application crash logs mentioning QXmlStreamReader
- Segmentation fault errors during XML processing
- Abnormal termination of Qt applications
Network Indicators:
- Spikes in XML payloads to applications
- Repeated XML submission patterns
SIEM Query:
source="application.log" AND ("segmentation fault" OR "QXmlStreamReader" OR "Qt crash")
🔗 References
- https://bugreports.qt.io/browse/QTBUG-114829
- https://codereview.qt-project.org/c/qt/qtbase/+/455027
- https://lists.debian.org/debian-lts-announce/2023/08/msg00028.html
- https://lists.debian.org/debian-lts-announce/2024/04/msg00027.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/O3JR3N3IF5MUSETGYE46OZFOGGPY3VZT/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SZK7EDD4ILPPSQAYO54FANUC4NFYLTHU/
- https://bugreports.qt.io/browse/QTBUG-114829
- https://codereview.qt-project.org/c/qt/qtbase/+/455027
- https://lists.debian.org/debian-lts-announce/2023/08/msg00028.html
- https://lists.debian.org/debian-lts-announce/2024/04/msg00027.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/O3JR3N3IF5MUSETGYE46OZFOGGPY3VZT/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SZK7EDD4ILPPSQAYO54FANUC4NFYLTHU/