CVE-2024-2236
Medium · 5.9CVSS
5.9
EPSS
1.1%
Published
Mar 6, 2024
CISA due date
—
Cloudanix analysis
A flaw in a widely used encryption library could let attackers gradually read encrypted messages sent over the network, so organizations should update the library on their Linux servers to keep sensitive data protected.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Cryptographic Weakness
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A timing side-channel in libgcrypt's RSA decryption allows an attacker to recover plaintext from RSA ciphertexts via a Bleichenbacher-style adaptive chosen-ciphertext attack by measuring response-time differences across many decryption attempts.
Why it matters to the business
Organizations relying on libgcrypt for RSA operations face potential exposure of encrypted data such as TLS session keys, VPN credentials, or signed messages, which could lead to confidentiality breaches and require urgent patching of affected Linux distributions.
How an attack unfolds
An attacker with network access repeatedly sends specially crafted RSA ciphertexts to a target using the vulnerable libgcrypt implementation, measures subtle timing variations in the responses, and statistically reconstructs the plaintext over thousands of queries.
How to fix it
Upgrade libgcrypt to version 1.10.3 or later (or the Debian 12 package version 6.1.106-1) on all affected systems; rebuild and restart any applications statically or dynamically linked against the vulnerable library.
How to confirm the fix worked
Verify that the installed libgcrypt shared library reports version 1.10.3+ via ldconfig or package manager; run the libgcrypt self-test suite and confirm absence of the timing oracle in RSA decryption paths.
Typical attack path
- Identify a service or application that uses libgcrypt for RSA decryption or key exchange
- Establish network reachability to the target endpoint
- Send a large number of adaptive chosen-ciphertext probes while recording high-resolution response times
- Apply statistical analysis to the timing oracle to recover the RSA plaintext or private key material
How to detect it
Review application and system logs for unusually high volumes of RSA decryption operations from a single source; examine process execution history for repeated calls to libgcrypt RSA functions during suspected attack windows.
What your security team should do
- Immediately schedule patching of all Debian 12 systems using the fixed package 6.1.106-1
- Inventory applications that depend on libgcrypt and test them after the upgrade
- Monitor for any new EPSS rise or public exploit code that lowers the attack complexity
The record
A timing-based side-channel flaw was found in libgcrypt's RSA implementation. This issue may allow a remote attacker to initiate a Bleichenbacher-style attack, which can lead to the decryption of RSA ciphertexts.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:9 | libgcrypt | 0 | 1.10.0-11.el9 |
| AlmaLinux:9 | libgcrypt-devel | 0 | 1.10.0-11.el9 |
| Chainguard | libgcrypt | 0 | 1.11.2-r1 |
| Chainguard | libgcrypt-dev | 0 | 1.11.2-r1 |
| Chainguard | libgcrypt-doc | 0 | 1.11.2-r1 |
| Debian:11 | libgcrypt20 | 0 | No fix |
| Debian:12 | libgcrypt20 | 0 | No fix |
| Debian:13 | libgcrypt20 | 0 | No fix |
| Red Hat:enterprise_linux:9::appstream | libgcrypt | 0 | 0:1.10.0-11.el9 |
| Red Hat:enterprise_linux:9::appstream | libgcrypt-debuginfo | 0 | 0:1.10.0-11.el9 |
| Red Hat:enterprise_linux:9::appstream | libgcrypt-debugsource | 0 | 0:1.10.0-11.el9 |
| Red Hat:enterprise_linux:9::appstream | libgcrypt-devel | 0 | 0:1.10.0-11.el9 |
| Red Hat:enterprise_linux:9::appstream | libgcrypt-devel-debuginfo | 0 | 0:1.10.0-11.el9 |
| Red Hat:enterprise_linux:9::baseos | libgcrypt | 0 | 0:1.10.0-11.el9 |
| Red Hat:enterprise_linux:9::baseos | libgcrypt-debuginfo | 0 | 0:1.10.0-11.el9 |
| Red Hat:enterprise_linux:9::baseos | libgcrypt-debugsource | 0 | 0:1.10.0-11.el9 |
| Red Hat:enterprise_linux:9::baseos | libgcrypt-devel | 0 | 0:1.10.0-11.el9 |
| Red Hat:enterprise_linux:9::baseos | libgcrypt-devel-debuginfo | 0 | 0:1.10.0-11.el9 |
| Rocky Linux:9 | libgcrypt | 0 | 0:1.10.0-11.el9 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | libgcrypt | 0 | 1.9.4-150400.6.11.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | libgcrypt | 0 | 1.9.4-150400.6.11.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | libgcrypt | 0 | 1.9.4-150500.12.3.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | libgcrypt | 0 | 1.9.4-150500.12.3.3 |
| SUSE:Linux Enterprise Micro 5.5 | libgcrypt | 0 | 1.9.4-150500.12.3.3 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | libgcrypt | 0 | 1.10.3-150600.3.9.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | libgcrypt | 0 | 1.11.0-150700.5.7.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | libgcrypt | 0 | 1.6.1-16.86.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | libgcrypt | 0 | 1.9.4-150400.6.11.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | libgcrypt | 0 | 1.9.4-150500.12.3.3 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | libgcrypt | 0 | 1.6.1-16.86.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | libgcrypt | 0 | 1.9.4-150400.6.11.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | libgcrypt | 0 | 1.9.4-150500.12.3.3 |
| SUSE:Manager Proxy 4.3 | libgcrypt | 0 | 1.9.4-150400.6.11.1 |
| SUSE:Manager Server 4.3 | libgcrypt | 0 | 1.9.4-150400.6.11.1 |
| Ubuntu:18.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:20.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:22.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:24.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:24.10 | libgcrypt20 | 0 | No fix |
| Ubuntu:25.04 | libgcrypt20 | 0 | No fix |
| Ubuntu:25.10 | libgcrypt20 | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | libgcrypt11 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:Pro:FIPS-preview:22.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:18.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:22.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:24.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:Pro:FIPS:18.04:LTS | libgcrypt20 | 0 | No fix |
| Ubuntu:Pro:FIPS:20.04:LTS | libgcrypt20 | 0 | No fix |
| Wolfi | libgcrypt | 0 | 1.11.2-r1 |
| Wolfi | libgcrypt-dev | 0 | 1.11.2-r1 |
| Wolfi | libgcrypt-doc | 0 | 1.11.2-r1 |
| openSUSE:Leap 15.6 | libgcrypt | 0 | 1.10.3-150600.3.9.1 |
| openSUSE:Leap 16.0 | libgcrypt | 0 | 1.12.1-160000.1.1 |
| openSUSE:Leap 16.0 | libgpg-error | 0 | 1.58-160000.1.1 |
| openSUSE:Tumbleweed | libgcrypt | 0 | 1.11.1-2.1 |
Related vulnerabilities
- CVE-2014-3591 Libgcrypt before 1.6.3 and GnuPG before 1.4.19 does not implement ciphertext blinding for… Also affects libgcrypt20
- CVE-2016-6313 The mixing functions in the random number generator in Libgcrypt before 1.5.6, 1.6.x… Also affects libgcrypt20
- CVE-2015-7511 Libgcrypt before 1.6.5 does not properly perform elliptic-point curve multiplication… Also affects libgcrypt20
- CVE-2014-5270 Libgcrypt before 1.5.4, as used in GnuPG and other products, does not properly perform… Also affects libgcrypt20
- CVE-2026-41990 Libgcrypt before 1.12.2 mishandles Dilithium signing. Also affects libgcrypt
- CVE-2026-84308 phpseclib is a PHP secure communications library. CWE-385
- CVE-2026-55785 free5GC is an open-source implementation of the 5G core network. CWE-385
- CVE-2026-6478 Covert timing channel in comparison of MD5-hashed password in PostgreSQL authentication… CWE-385