CVE-2024-23170
Medium · 5.5CVSS
5.5
EPSS
0.3%
Published
Jan 31, 2024
CISA due date
—
Cloudanix analysis
A cryptography library used in many devices had a flaw that could let someone with access to the same machine figure out the contents of encrypted messages by watching how long the math took.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Data Exposure
- Component
- Library
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Timing side channel in RSA private key operations in Mbed TLS allows a local attacker to recover decrypted plaintext after observing a large number of decryption operations.
Why it matters to the business
Attackers with local access could obtain sensitive decrypted data such as keys or messages processed by applications relying on vulnerable Mbed TLS versions, increasing risk of data exposure in embedded and IoT deployments.
How an attack unfolds
A local attacker repeatedly sends crafted ciphertexts to trigger RSA private key operations, measures subtle timing differences across many requests, and applies the Marvin attack technique to reconstruct the plaintext without needing the private key.
How to fix it
Upgrade Mbed TLS to version 2.28.7, 3.5.2, or later; apply commit 555f84735aecdbd76a566cf087ec8425dfb0c8ab where appropriate; recompile and redeploy all dependent applications.
How to confirm the fix worked
Verify installed Mbed TLS version is at or above the fixed releases; run timing side-channel test suites against RSA operations; confirm no plaintext leakage in controlled decryption benchmarks.
Typical attack path
- Obtain local execution privileges on the target system
- Identify processes performing RSA decryption with Mbed TLS
- Send a large volume of specially crafted decryption requests
- Collect high-resolution timing measurements of the operations
- Analyze timing data offline to recover plaintext
How to detect it
Review process execution logs and library version strings for vulnerable Mbed TLS builds; look for processes performing unusually high volumes of RSA decryption operations; examine application logs for repeated decryption activity from local users.
What your security team should do
- Prioritize upgrade of Mbed TLS across all affected products and rebuild dependent binaries
- Audit applications for direct use of RSA private operations and consider migrating to constant-time alternatives
- Monitor upstream Mbed TLS releases for any follow-on side-channel fixes
- Limit local access to systems performing sensitive RSA decryption where feasible
The record
An issue was discovered in Mbed TLS 2.x before 2.28.7 and 3.x before 3.5.2. There was a timing side channel in RSA private operations. This side channel could be sufficient for a local attacker to recover the plaintext. It requires the attacker to send a large number of messages for decryption, as described in "Everlasting ROBOT: the Marvin Attack" by Hubert Kario.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.16 | mbedtls | 0 | 2.28.7-r0 |
| Alpine:v3.17 | mbedtls | 0 | 2.28.7-r0 |
| Alpine:v3.18 | mbedtls | 0 | 2.28.7-r0 |
| Alpine:v3.19 | mbedtls | 0 | 2.28.7-r0 |
| Alpine:v3.20 | mbedtls | 0 | 2.28.7-r0 |
| Alpine:v3.21 | mbedtls | 0 | 2.28.7-r0 |
| Alpine:v3.22 | mbedtls | 0 | 2.28.7-r0 |
| Debian:11 | mbedtls | 0 | No fix |
| Debian:12 | mbedtls | 0 | No fix |
| Debian:13 | mbedtls | 0 | 2.28.7-1 |
| Debian:14 | mbedtls | 0 | 2.28.7-1 |
| SUSE:Package Hub 15 SP5 | mbedtls | 0 | 2.28.7-bp155.2.3.1 |
| Ubuntu:16.04:LTS | mbedtls | 0 | No fix |
| Ubuntu:18.04:LTS | mbedtls | 0 | No fix |
| 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 | 2.28.8-1 |
| 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 |
| openSUSE:Leap 15.5 | mbedtls | 0 | 2.28.7-bp155.2.3.1 |
| openSUSE:Tumbleweed | mbedtls | 0 | 3.5.2-1.1 |
| openSUSE:Tumbleweed | mbedtls-2 | 0 | 2.28.7-1.1 |
Related vulnerabilities
- 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
- CVE-2023-43615 Mbed TLS 2.x before 2.28.5 and 3.x before 3.5.0 has a Buffer Overflow. Also affects mbedtls
- CVE-2022-35409 An issue was discovered in Mbed TLS before 2.28.1 and 3.x before 3.2.0. Also affects mbedtls
- CVE-2021-44732 Mbed TLS before 3.0.1 has a double free in certain out-of-memory conditions, as… 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
- JLSEC-2025-187 Mbed TLS before 2.28.10 and 3.x before 3.6.3, in some cases of failed memory allocation… Also affects mbedtls
- 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