CVE-2024-30166
Critical · 9.1CVSS
9.1
EPSS
0.7%
Published
Apr 3, 2024
CISA due date
—
Cloudanix analysis
A bug in a widely used encryption library can let attackers read private server memory or shut down secure connections.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Stack buffer over-read of less than 256 bytes in TLS 1.3 server processing of TLS 3.1 ClientHello messages, enabling information disclosure or denial of service.
Why it matters to the business
Attackers could read fragments of server memory containing sensitive data or crash TLS services, disrupting encrypted communications and operations.
How an attack unfolds
An attacker crafts and sends a malicious TLS 3.1 ClientHello to a vulnerable TLS 1.3 server; the server performs an out-of-bounds read on the stack while parsing the message, leaking memory contents or triggering a crash.
How to fix it
Upgrade Mbed TLS to version 3.6.0 or apply the patch corresponding to commit 2ca6c285a0dd3f33982dd57299012dacab1ff206; recompile and redeploy all dependent applications.
How to confirm the fix worked
Confirm the running Mbed TLS version is 3.6.0 or later; perform handshake tests with TLS 3.1 ClientHello messages to verify absence of over-read behavior.
Typical attack path
- Scan for or identify servers running vulnerable Mbed TLS versions 3.3.0-3.5.2
- Send a specially crafted TLS 3.1 ClientHello packet
- Trigger the over-read to obtain leaked memory or cause service denial
How to detect it
Review TLS server logs for malformed ClientHello messages, unexpected process crashes, or memory access violations during TLS 1.3 handshakes; correlate with network traffic showing version 3.1 ClientHello to version 1.3 servers.
What your security team should do
- Immediately upgrade all instances of Mbed TLS to the fixed version
- Prioritize patching of internet-facing TLS servers
- Monitor for unusual TLS handshake failures or server crashes
- Review downstream dependents and rebuild affected binaries
The record
In Mbed TLS 3.3.0 through 3.5.2 before 3.6.0, a malicious client can cause information disclosure or a denial of service because of a stack buffer over-read (of less than 256 bytes) in a TLS 1.3 server via a TLS 3.1 ClientHello.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:20.04:LTS | mbedtls | 0 | No fix |
| Ubuntu:22.04:LTS | mbedtls | 0 | No fix |
| Ubuntu:24.04:LTS | mbedtls | 0 | No fix |
| Ubuntu:24.10 | mbedtls | 0 | No fix |
| Ubuntu:25.04 | mbedtls | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | mbedtls | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | mbedtls | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | mbedtls | 0 | No fix |
Related vulnerabilities
- CVE-2024-49195 Mbed TLS 3.5.x through 3.6.x before 3.6.2 has a buffer underrun in pkwrite when writing… Also affects mbedtls
- CVE-2024-45158 An issue was discovered in Mbed TLS 3.6 before 3.6.1. Also affects mbedtls
- CVE-2024-45159 An issue was discovered in Mbed TLS 3.x before 3.6.1. Also affects mbedtls
- CVE-2024-45157 An issue was discovered in Mbed TLS before 2.28.9 and 3.x before 3.6.1, in which the… Also affects mbedtls
- CVE-2024-28836 An issue was discovered in Mbed TLS 3.5.x before 3.6.0. Also affects mbedtls
- CVE-2024-28755 An issue was discovered in Mbed TLS 3.5.x before 3.6.0. Also affects mbedtls
- CVE-2024-28960 An issue was discovered in Mbed TLS 2.18.0 through 2.28.x before 2.28.8 and 3.x before… Also affects mbedtls
- CVE-2024-23775 Integer Overflow vulnerability in Mbed TLS 2.x before 2.28.7 and 3.x before 3.5.2, allows… Also affects mbedtls