CVE-2021-45450
High · 7.5CVSS
7.5
EPSS
1.2%
Published
Dec 21, 2021
CISA due date
—
Cloudanix analysis
A flaw in a widely used encryption library could let attackers read data that should have stayed secret by bypassing normal security checks in certain memory setups.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Library
- Class
- Cryptographic Weakness
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability allows psa_cipher_generate_iv and psa_cipher_encrypt to bypass PSA crypto policy checks or enable oracle-based decryption when the output buffer resides in memory regions accessible to an untrusted application.
Why it matters to the business
Organizations relying on Mbed TLS for cryptographic operations face potential exposure of sensitive encrypted data, which can undermine confidentiality protections in embedded, IoT, and application security controls; the issue has been public for years with low but stable exploitability signals and broad library adoption.
How an attack unfolds
An attacker identifies an application using vulnerable Mbed TLS versions that places output buffers in untrusted memory, then supplies crafted inputs to psa_cipher_generate_iv or psa_cipher_encrypt to either bypass policy restrictions or obtain plaintext via decryption oracle behavior.
How to fix it
Upgrade mbed-tls/mbedtls to the fixed commit 8b3f26a5ac38d4fdccbc5c5366229f3e01dafcc0 or later releases 2.28.0 and 3.1.0; rebuild and redeploy all dependent applications after updating the library.
How to confirm the fix worked
Verify the installed Mbed TLS version or commit hash matches a fixed release; perform regression testing of PSA cipher operations with untrusted memory buffers to confirm policy enforcement and absence of oracle behavior.
Typical attack path
- Identify target application using affected Mbed TLS library
- Locate or influence code paths invoking psa_cipher_generate_iv or psa_cipher_encrypt with output buffers in attacker-accessible memory
- Supply malicious inputs that trigger policy bypass or decryption oracle responses
- Extract sensitive plaintext or bypass intended cryptographic protections
How to detect it
Review application logs and memory access patterns around PSA cipher function calls for unusual buffer handling or repeated oracle-style queries; correlate with known vulnerable library versions in deployed binaries.
What your security team should do
- Immediately inventory all products and builds depending on Mbed TLS and schedule upgrades to the fixed commit or newer releases
- Prioritize patching in any externally facing or high-value cryptographic deployments given the network-attack vector and confidentiality impact
- Update dependency management and CI pipelines to enforce minimum Mbed TLS versions going forward
The record
In Mbed TLS before 2.28.0 and 3.x before 3.1.0, psa_cipher_generate_iv and psa_cipher_encrypt allow policy bypass or oracle-based decryption when the output buffer is at memory locations accessible to an untrusted application.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| 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 |
| openSUSE:Tumbleweed | mbedtls-2 | 0 | 2.28.0-1.1 |
| openSUSE:Tumbleweed | mbedtls-3 | 0 | 3.6.6-1.1 |
Related vulnerabilities
- 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
- CVE-2022-46392 An issue was discovered in Mbed TLS before 2.28.2 and 3.x before 3.3.0. Also affects mbedtls
- CVE-2022-46393 An issue was discovered in Mbed TLS before 2.28.2 and 3.x before 3.3.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-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