CVE-2024-36048
Critical · 9.8CVSS
9.8
EPSS
1.0%
Published
May 18, 2024
CISA due date
—
Cloudanix analysis
A flaw in a popular software library used for secure logins can let attackers guess secret values because the random numbers it creates are too predictable.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Library
- Class
- Cryptographic Weakness
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
QAbstractOAuth in Qt Network Authorization seeds its PRNG using only the current time, producing predictable random values that can be guessed by an attacker observing request timing.
Why it matters to the business
Applications relying on Qt OAuth may expose authentication tokens or session data to unauthorized access, leading to account compromise, data leaks, or service disruption; the issue affects widely used Qt and Movim deployments with fixes available since mid-2024.
How an attack unfolds
An attacker monitors the approximate time of an OAuth request, replicates the time-based seed locally to generate the same PRNG sequence, and uses the resulting guessable values to forge or predict authorization tokens and bypass authentication.
How to fix it
Upgrade qt/qtbase to commit 8e79bee4afa2a1466f360f44fb07d24e432a82a6 or later and movim/movim to commit 49e2012aecdf918bb1d16f278fa9ff42fad29a9d or later; rebuild and redeploy affected applications after applying the updates.
How to confirm the fix worked
Confirm the installed Qt version meets or exceeds the fixed commits listed above, review build logs for the updated PRNG seeding logic, and test OAuth flows to ensure non-time-only randomness is in use.
Typical attack path
- Observe network traffic or logs to capture the timestamp of an OAuth authorization request
- Reproduce the PRNG seed using the observed time value
- Generate the predictable random sequence offline
- Use predicted values to forge tokens or replay authorization material
- Gain unauthorized access to protected resources or accounts
How to detect it
Review application logs for OAuth token generation around request timestamps, look for repeated or sequential authorization values that correlate with system clock times, and inspect source or binary for time-only PRNG seeding patterns in Qt OAuth code paths.
What your security team should do
- Prioritize patching Qt-based applications within standard change windows given the high CVSS and public disclosure
- Audit all OAuth implementations using Qt Network Authorization for exposure
- Monitor upstream Qt and Movim release notes for any additional related fixes
- Consider runtime detection for predictable token patterns in high-risk environments
The record
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, and 6.6.x through 6.7.x before 6.7.1 uses only the time to seed the PRNG, which may result in guessable values.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | qtnetworkauth-everywhere-src | 0 | No fix |
| Debian:12 | qt6-networkauth | 0 | No fix |
| Debian:12 | qtnetworkauth-everywhere-src | 0 | No fix |
| Debian:13 | qt6-networkauth | 0 | No fix |
| Debian:13 | qtnetworkauth-everywhere-src | 0 | 5.15.13-3 |
| Mageia:9 | qtnetworkauth5 | 0 | 5.15.7-1.1.mga9 |
| Mageia:9 | qtnetworkauth6 | 0 | 6.4.1-1.1.mga9 |
| SUSE:Package Hub 15 SP5 | libqt5-qtnetworkauth | 0 | 5.15.2+kde2-bp155.3.3.1 |
| SUSE:Package Hub 15 SP5 | qt6-networkauth | 0 | 6.4.2-bp155.2.3.1 |
| SUSE:Package Hub 15 SP5 | qt6-networkauth-docs | 0 | 6.4.2-bp155.2.3.1 |
| Ubuntu:20.04:LTS | qtnetworkauth-everywhere-src | 0 | No fix |
| Ubuntu:22.04:LTS | qtnetworkauth-everywhere-src | 0 | No fix |
| Ubuntu:24.04:LTS | qtnetworkauth-everywhere-src | 0 | No fix |
| Ubuntu:24.10 | qtnetworkauth-everywhere-src | 0 | No fix |
| Ubuntu:25.04 | qtnetworkauth-everywhere-src | 0 | No fix |
| Ubuntu:25.10 | qtnetworkauth-everywhere-src | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | qtnetworkauth-everywhere-src | 0 | No fix |
| openSUSE:Leap 15.5 | libqt5-qtnetworkauth | 0 | 5.15.2+kde2-bp155.3.3.1 |
| openSUSE:Leap 15.5 | qt6-networkauth | 0 | 6.4.2-bp155.2.3.1 |
| openSUSE:Leap 15.5 | qt6-networkauth-docs | 0 | 6.4.2-bp155.2.3.1 |
Related vulnerabilities
- CVE-2026-11625 Bytes::Random::Secure versions through 0.29 for Perl share internal state across forked… CWE-335
- CVE-2026-11702 Bytes::Random::Secure::Tiny versions through 1.011 for Perl share internal state across… CWE-335
- CVE-2026-41564 CryptX versions before 0.088 for Perl do not reseed the Crypt::PK PRNG state after… CWE-335
- CVE-2026-25835 Mbed TLS before 3.6.6 and TF-PSA-Crypto before 1.1.0 misuse seeds in a Pseudo-Random… CWE-335
- CVE-2026-3503 Protection mechanism failure in wolfCrypt post-quantum implementations (ML-KEM and… CWE-335
- CVE-2025-52578 Incorrect Usage of Seeds in Pseudo-Random Number Generator (CWE- 335) vulnerability in… CWE-335
- CVE-2024-55566 ColPack 1.0.10 through 9a7293a has a predictable temporary file (located under /tmp with… CWE-335