CVE-2023-24607
📋 TL;DR
This vulnerability in Qt's SQL ODBC driver allows denial of service via a crafted string when SQLTCHAR size is 4. It affects applications using Qt's database connectivity with ODBC drivers. Users of Qt 5.x before 5.15.13, 6.x before 6.2.8, and 6.3.x before 6.4.3 are vulnerable.
💻 Affected Systems
- Qt Framework
- Applications using Qt SQL ODBC driver
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete application crash leading to service unavailability for applications using Qt's ODBC database connectivity.
Likely Case
Application instability and crashes when processing malicious database input through ODBC connections.
If Mitigated
Minimal impact if ODBC driver is not used or if input validation prevents malicious strings.
🎯 Exploit Status
Requires ability to inject crafted strings into ODBC database queries. No public exploit code available.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Qt 5.15.13, Qt 6.2.8, Qt 6.4.3 or later
Vendor Advisory: https://codereview.qt-project.org/c/qt/qtbase/+/456216
Restart Required: Yes
Instructions:
1. Update Qt to patched version. 2. Recompile applications with updated Qt libraries. 3. Restart affected services.
🔧 Temporary Workarounds
Disable ODBC driver
allRemove or disable Qt's SQL ODBC driver plugin if not required
rm /path/to/qt/plugins/sqldrivers/libqsqlodbc.so
rm /path/to/qt/plugins/sqldrivers/qsqlodbc.dll
Use alternative SQL driver
allSwitch to SQLite, PostgreSQL, or MySQL drivers instead of ODBC
🧯 If You Can't Patch
- Implement strict input validation for all database queries using ODBC
- Deploy application-level rate limiting and monitoring for abnormal ODBC query patterns
🔍 How to Verify
Check if Vulnerable:
Check Qt version and verify ODBC driver usage in application configuration
Check Version:
qmake --version
Verify Fix Applied:
Verify Qt version is 5.15.13+, 6.2.8+, or 6.4.3+ and test ODBC connectivity
📡 Detection & Monitoring
Log Indicators:
- Application crashes with Qt SQL ODBC driver
- Abnormal termination of Qt database processes
Network Indicators:
- Unusual ODBC connection patterns
- Repeated database connection failures
SIEM Query:
source="application.log" AND "qt" AND "odbc" AND ("crash" OR "segfault" OR "terminated")
🔗 References
- https://codereview.qt-project.org/c/qt/qtbase/+/456216
- https://codereview.qt-project.org/c/qt/tqtc-qtbase/+/456217
- https://codereview.qt-project.org/c/qt/tqtc-qtbase/+/456238
- https://download.qt.io/official_releases/qt/5.15/CVE-2023-24607-qtbase-5.15.diff
- https://github.com/qt/qtbase/commit/aaf1381eab6292aa0444a5eadcc24165b6e1c02d
- https://lists.debian.org/debian-lts-announce/2024/04/msg00027.html
- https://www.qt.io/blog/security-advisory-qt-sql-odbc-driver-plugin
- https://www.qt.io/blog/tag/security
- https://codereview.qt-project.org/c/qt/qtbase/+/456216
- https://codereview.qt-project.org/c/qt/tqtc-qtbase/+/456217
- https://codereview.qt-project.org/c/qt/tqtc-qtbase/+/456238
- https://download.qt.io/official_releases/qt/5.15/CVE-2023-24607-qtbase-5.15.diff
- https://github.com/qt/qtbase/commit/aaf1381eab6292aa0444a5eadcc24165b6e1c02d
- https://lists.debian.org/debian-lts-announce/2024/04/msg00027.html
- https://www.qt.io/blog/security-advisory-qt-sql-odbc-driver-plugin
- https://www.qt.io/blog/tag/security