CVE-2024-36048
📋 TL;DR
This vulnerability in Qt Network Authorization's QAbstractOAuth uses only system time to seed the pseudo-random number generator (PRNG), making generated values predictable. Attackers could guess authentication tokens, session IDs, or cryptographic nonces, potentially bypassing security controls. Applications using Qt's OAuth implementation for authentication or secure communications are affected.
💻 Affected Systems
- Qt Network Authorization
- Applications using Qt's QAbstractOAuth
📦 What is this software?
Fedora by Fedoraproject
Fedora by Fedoraproject
⚠️ Risk & Real-World Impact
Worst Case
Complete authentication bypass allowing unauthorized access to user accounts, data theft, or privilege escalation in applications relying on Qt's OAuth implementation for security.
Likely Case
Session hijacking or token prediction enabling unauthorized API access, data leakage, or account compromise in vulnerable applications.
If Mitigated
Limited impact if additional authentication layers, rate limiting, or token validation mechanisms are in place alongside the vulnerable component.
🎯 Exploit Status
Exploitation requires predicting PRNG outputs based on timing, which is theoretically straightforward but depends on application implementation details.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Qt 5.15.17, 6.2.13, 6.5.6, 6.7.1
Vendor Advisory: https://codereview.qt-project.org/c/qt/qtnetworkauth/+/560317
Restart Required: Yes
Instructions:
1. Identify Qt version in use. 2. Update to patched version: Qt 5.15.17, 6.2.13, 6.5.6, or 6.7.1. 3. Recompile applications with updated Qt libraries. 4. Redeploy updated applications. 5. Restart services using Qt Network Authorization.
🔧 Temporary Workarounds
Disable QAbstractOAuth Usage
allTemporarily disable or replace Qt's OAuth implementation with alternative authentication mechanisms.
Implement Additional Token Validation
allAdd server-side validation of OAuth tokens beyond what Qt provides, including timestamp checks and rate limiting.
🧯 If You Can't Patch
- Isolate vulnerable applications behind network segmentation to limit attack surface.
- Implement Web Application Firewall (WAF) rules to detect and block suspicious authentication patterns.
🔍 How to Verify
Check if Vulnerable:
Check Qt version: qmake --version or examine Qt installation directory. Verify if application uses QAbstractOAuth by reviewing source code or dependencies.
Check Version:
qmake --version
Verify Fix Applied:
Confirm Qt version is 5.15.17, 6.2.13, 6.5.6, or 6.7.1. Test OAuth functionality to ensure proper random token generation.
📡 Detection & Monitoring
Log Indicators:
- Multiple failed authentication attempts with predictable token patterns
- Unusual OAuth token reuse or timing anomalies
Network Indicators:
- Rapid sequential authentication requests to OAuth endpoints
- Predictable token values in authentication traffic
SIEM Query:
source="oauth_logs" AND (token_pattern="predictable" OR auth_attempts>10/minute)
🔗 References
- https://codereview.qt-project.org/c/qt/qtnetworkauth/+/560317
- https://codereview.qt-project.org/c/qt/qtnetworkauth/+/560368
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/RGB6KUPJFQWUBKXVDPJUMAD6KNJJEWPW/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZOOZZZSK5PNRHFGQMUGUHVYWLILFJCRS/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZPHAI3DKDCIU6XLNS6PV6GFS2PHH3GZM/
- https://codereview.qt-project.org/c/qt/qtnetworkauth/+/560317
- https://codereview.qt-project.org/c/qt/qtnetworkauth/+/560368
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/RGB6KUPJFQWUBKXVDPJUMAD6KNJJEWPW/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZOOZZZSK5PNRHFGQMUGUHVYWLILFJCRS/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZPHAI3DKDCIU6XLNS6PV6GFS2PHH3GZM/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/RGB6KUPJFQWUBKXVDPJUMAD6KNJJEWPW/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZOOZZZSK5PNRHFGQMUGUHVYWLILFJCRS/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZPHAI3DKDCIU6XLNS6PV6GFS2PHH3GZM/