CVE-2022-46392
Medium · 5.3CVSS
5.3
EPSS
0.9%
Published
Dec 15, 2022
CISA due date
—
Cloudanix analysis
A flaw in an encryption library could let a highly positioned attacker steal secret keys used to protect communications or device identity if the software runs inside certain isolated environments.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Cryptographic Weakness
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A side-channel vulnerability in RSA private-key exponentiation when MBEDTLS_MPI_WINDOW_SIZE is 3 or smaller allows an adversary with fine-grained memory access observation (e.g., untrusted OS vs. secure enclave) to recover the full private key from a single operation via timing or cache analysis.
Why it matters to the business
Organizations using affected Mbed TLS versions in secure enclaves or hardware-isolated environments face risk of RSA key compromise, which can undermine encrypted communications, device authentication, and data protection for any dependent products or firmware.
How an attack unfolds
An attacker with access to precise memory-access telemetry (typically from a compromised or malicious hypervisor/OS) monitors cache or page accesses while the victim enclave performs one RSA private-key operation; statistical analysis of the observed access pattern for the small sliding-window exponentiation directly reconstructs the key bits.
How to fix it
Upgrade mbed-tls/mbedtls to the commit 89f040a5c938985c5f30728baed21e49d0846a53 (corresponding to 2.28.2 or 3.3.0) or later; rebuild all dependent firmware and applications; verify that MBEDTLS_MPI_WINDOW_SIZE is configured to a value greater than 3 after the update.
How to confirm the fix worked
Confirm the running library reports version 2.28.2+, 3.3.0+, or contains commit 89f040a5c938985c5f30728baed21e49d0846a53; inspect build configuration for MBEDTLS_MPI_WINDOW_SIZE > 3; perform a static binary scan for the vulnerable exponentiation routine.
Typical attack path
- Position attacker-controlled OS or hypervisor to observe enclave memory accesses
- Trigger or wait for a single RSA private-key operation inside the enclave
- Collect high-resolution memory-access trace (cache lines, page faults, or timing)
- Apply lattice or statistical analysis on the small-window exponentiation trace to recover the full RSA private key
How to detect it
Review enclave or application logs for unexpected RSA private-key operations; correlate with hypervisor or OS-level memory-access monitoring events; search build and runtime logs for references to MBEDTLS_MPI_WINDOW_SIZE values of 3 or lower.
What your security team should do
- Immediately inventory all products and firmware using mbed-tls/mbedtls and schedule upgrades to the fixed commit
- Treat any RSA private keys that may have been used in vulnerable enclaves as potentially compromised and rotate them
- Enable runtime memory-access protections or move to hardware that does not expose fine-grained side channels to the OS
- Monitor EPSS and threat-intel feeds for any increase in exploitation activity despite the low current score
The record
An issue was discovered in Mbed TLS before 2.28.2 and 3.x before 3.3.0. An adversary with access to precise enough information about memory accesses (typically, an untrusted operating system attacking a secure enclave) can recover an RSA private key after observing the victim performing a single private-key operation, if the window size (MBEDTLS_MPI_WINDOW_SIZE) used for the exponentiation is 3 or smaller.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | mbedtls | 0 | No fix |
| Debian:12 | mbedtls | 0 | 2.28.2-1 |
| Debian:13 | mbedtls | 0 | 2.28.2-1 |
| Debian:14 | mbedtls | 0 | 2.28.2-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 | 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
- 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
- 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-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
- CVE-2024-23170 An issue was discovered in Mbed TLS 2.x before 2.28.7 and 3.x before 3.5.2. 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