CVE-2024-30161
NoneCVSS
—
EPSS
0.5%
Published
Mar 24, 2024
CISA due date
—
Cloudanix analysis
A flaw in certain versions of a software library used for web browser applications can let attackers crash or take control of those applications.
- Exploitation
- Remote Authenticated
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Data Exposure
- Component
- Library
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free condition where QNetworkReply header data is accessed through a dangling pointer in Qt WebAssembly builds.
Why it matters to the business
Web applications built with affected Qt versions for WebAssembly may experience crashes or memory corruption, potentially disrupting services or allowing remote code execution in browser environments.
How an attack unfolds
An attacker sends crafted network responses to a Qt WebAssembly application that trigger header processing after the underlying pointer has been freed, leading to memory corruption.
How to fix it
Upgrade Qt to a version outside 6.5.4, 6.5.5, and 6.6.2; rebuild and redeploy affected WebAssembly applications.
How to confirm the fix worked
Confirm Qt version in use is not 6.5.4, 6.5.5, or 6.6.2; test WebAssembly builds for absence of the dangling pointer access pattern in QNetworkReply handling.
Typical attack path
- Deliver malicious network response to WebAssembly target
- Trigger QNetworkReply header access path
- Exploit dangling pointer for memory corruption or control flow hijack
How to detect it
Review application logs and browser console output for crashes or memory errors during network reply handling in Qt WebAssembly contexts; look for unexpected terminations tied to QNetworkReply usage.
What your security team should do
- Identify all Qt WebAssembly deployments and their exact versions
- Prioritize upgrade of any instances running 6.5.4, 6.5.5, or 6.6.2
- Monitor for memory corruption indicators in WebAssembly applications
The record
In Qt 6.5.4, 6.5.5, and 6.6.2, QNetworkReply header data might be accessed via a dangling pointer in Qt for WebAssembly (wasm). (Earlier and later versions are unaffected.)
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | qt6-base | 0 | 6.4.2-150500.3.17.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | qt6-base | 0 | 6.4.2-150500.3.17.1 |
| Ubuntu:16.04:LTS | qtbase-opensource-src-gles | 0 | No fix |
| Ubuntu:20.04:LTS | qtbase-opensource-src | 0 | No fix |
| Ubuntu:20.04:LTS | qtbase-opensource-src-gles | 0 | No fix |
| Ubuntu:22.04:LTS | qt6-base | 0 | No fix |
| Ubuntu:22.04:LTS | qtbase-opensource-src | 0 | No fix |
| Ubuntu:22.04:LTS | qtbase-opensource-src-gles | 0 | No fix |
| Ubuntu:24.04:LTS | qt6-base | 0 | No fix |
| Ubuntu:24.04:LTS | qtbase-opensource-src | 0 | No fix |
| Ubuntu:24.04:LTS | qtbase-opensource-src-gles | 0 | No fix |
| Ubuntu:24.10 | qt6-base | 0 | No fix |
| Ubuntu:24.10 | qtbase-opensource-src | 0 | No fix |
| Ubuntu:24.10 | qtbase-opensource-src-gles | 0 | No fix |
| Ubuntu:25.04 | qt6-base | 0 | No fix |
| Ubuntu:25.04 | qtbase-opensource-src-gles | 0 | No fix |
| Ubuntu:25.10 | qt6-base | 0 | No fix |
| Ubuntu:25.10 | qtbase-opensource-src-gles | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | qtbase-opensource-src | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | qtbase-opensource-src-gles | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | qtbase-opensource-src | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | qtbase-opensource-src-gles | 0 | No fix |
| openSUSE:Leap 15.5 | qt6-base | 0 | 6.4.2-150500.3.17.1 |
| openSUSE:Leap 15.5 | qt6-base-docs | 0 | 6.4.2-150500.3.17.1 |
| openSUSE:Tumbleweed | qt6-base | 0 | 6.7.0-1.1 |