CVE-2024-50382
NoneCVSS
—
EPSS
0.5%
Published
Oct 23, 2024
CISA due date
—
Cloudanix analysis
A flaw in a security library can accidentally reveal secret information during encryption under specific conditions, potentially weakening data protection.
- Exploitation
- Other
- Attacker needs
- Local User
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Cryptographic Weakness
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Compiler optimization in specific LLVM versions introduces a conditional branch in GHASH computation for AES-GCM instead of constant-time XOR, creating secret-dependent control flow that may enable side-channel attacks.
Why it matters to the business
Potential compromise of encrypted communications confidentiality, requiring urgent updates to cryptographic libraries in affected environments, though low exploitability reduces immediate risk.
How an attack unfolds
An attacker with ability to observe execution timing or cache behavior on a RISC-V system compiled with Clang 15 could potentially extract authentication keys or plaintext from AES-GCM operations due to the non-constant-time implementation.
How to fix it
Upgrade Botan to the version containing commit 53b0cfde580e86b03d0d27a488b6c134f662e957 or later.
How to confirm the fix worked
Verify the commit hash in the source or check library version is at least 3.6.0 and rebuild with non-affected compilers.
Typical attack path
- Identify target using vulnerable Botan version compiled with affected LLVM
- Perform side-channel analysis on GHASH operations
- Recover cryptographic secrets
How to detect it
Monitor for unusual timing variations in cryptographic operations or review build logs for affected compiler and library combinations.
What your security team should do
- Update to fixed Botan version immediately
- Audit build environments for LLVM versions
- Consider compiler flags for constant-time code
The record
Botan before 3.6.0, when certain LLVM versions are used, has compiler-induced secret-dependent control flow in lib/utils/ghash/ghash.cpp in GHASH in AES-GCM. There is a branch instead of an XOR with carry. This was observed for Clang in LLVM 15 on RISC-V.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | botan | 0 | No fix |
| Debian:12 | botan | 0 | No fix |
| Debian:13 | botan | 0 | No fix |
| Debian:14 | botan | 0 | 2.19.5+dfsg-3 |
| SUSE:Package Hub 15 SP5 | Botan | 0 | 2.19.5-bp156.3.6.1 |
| SUSE:Package Hub 15 SP6 | Botan | 0 | 2.19.5-bp156.3.6.1 |
| Ubuntu:18.04:LTS | botan | 0 | No fix |
| Ubuntu:20.04:LTS | botan | 0 | No fix |
| Ubuntu:20.04:LTS | oscar | 0 | No fix |
| Ubuntu:22.04:LTS | botan | 0 | No fix |
| Ubuntu:22.04:LTS | oscar | 0 | No fix |
| Ubuntu:24.04:LTS | botan | 0 | No fix |
| Ubuntu:24.04:LTS | oscar | 0 | No fix |
| Ubuntu:24.10 | botan | 0 | No fix |
| Ubuntu:24.10 | oscar | 0 | No fix |
| Ubuntu:25.04 | oscar | 0 | No fix |
| Ubuntu:25.10 | oscar | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | botan | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | botan | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | oscar | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | botan | 0 | 2.19.1+dfsg-2ubuntu1+esm1 |
| Ubuntu:Pro:24.04:LTS | botan | 0 | 2.19.3+dfsg-1ubuntu2+esm1 |
| openSUSE:Leap 15.5 | Botan | 0 | 2.19.5-bp156.3.6.1 |
| openSUSE:Leap 15.6 | Botan | 0 | 2.19.5-bp156.3.6.1 |
| openSUSE:Tumbleweed | Botan | 0 | 3.6.0-1.1 |
Related vulnerabilities
- CVE-2024-50383 Botan before 3.6.0, when certain GCC versions are used, has a compiler-induced… Also affects botan
- CVE-2024-34702 Botan is a C++ cryptography library. Also affects botan
- CVE-2024-39312 Botan is a C++ cryptography library. Also affects botan
- CVE-2024-34703 Botan is a C++ cryptography library. Also affects botan
- CVE-2026-35582 Emissary is a P2P based data-driven workflow engine. Also affects Botan
- CVE-2026-35580 Emissary is a P2P based data-driven workflow engine. Also affects Botan