CVE-2014-3591
Medium · 4.2CVSS
4.2
EPSS
0.6%
Published
Nov 29, 2019
CISA due date
—
Cloudanix analysis
An attacker who can get physically close to a computer running older encryption software could steal the secret key used to protect messages or files.
- Exploitation
- Physical Access
- Attacker needs
- Physical Access
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Absence of ciphertext blinding during ElGamal decryption in Libgcrypt and GnuPG permits recovery of the private key by measuring electromagnetic emanations produced during modular multiplication of attacker-supplied ciphertexts.
Why it matters to the business
Organizations relying on GnuPG or Libgcrypt for long-term key protection face risk of private-key theft when an attacker obtains brief physical proximity to decryption hardware, potentially exposing all past and future encrypted data or signatures.
How an attack unfolds
An attacker with physical access crafts special ElGamal ciphertexts and records fluctuations in the electromagnetic field emitted by the CPU while multiplication occurs; statistical analysis of the traces factors the ciphertext and reconstructs the private key without software interaction.
How to fix it
Upgrade Libgcrypt to 1.6.3 or later and GnuPG to 1.4.19 or later on all affected systems; re-generate any ElGamal keys that may have been used on unpatched versions.
How to confirm the fix worked
Inventory all installations of libgcrypt and gnupg, confirm versions meet or exceed 1.6.3 and 1.4.19 respectively, and verify that ElGamal key-generation or decryption operations now include blinding by code review or vendor-supplied test vectors.
Typical attack path
- Gain brief physical proximity to a system performing ElGamal decryption
- Trigger or observe decryption of attacker-controlled ciphertexts
- Capture high-resolution EM traces during modular multiplication
- Process traces offline to factor the ciphertext and extract the private key
How to detect it
Monitor physical-access logs, badge records, and hardware tamper sensors for unexplained proximity to decryption systems; after suspected exposure, look for sudden use of the compromised private key in unexpected locations or network traffic.
What your security team should do
- Immediately apply available updates for libgcrypt and gnupg across the environment
- Replace any ElGamal keys that performed decryption on unpatched versions
- Restrict physical access to systems that handle long-term private keys
- Audit cryptographic library versions as part of routine asset management
The record
Libgcrypt before 1.6.3 and GnuPG before 1.4.19 does not implement ciphertext blinding for Elgamal decryption, which allows physically proximate attackers to obtain the server's private key by determining factors using crafted ciphertext and the fluctuations in the electromagnetic field during multiplication.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libgcrypt20 | 0 | 1.6.3-2 |
| Debian:12 | libgcrypt20 | 0 | 1.6.3-2 |
| Debian:13 | libgcrypt20 | 0 | 1.6.3-2 |
| Debian:14 | libgcrypt20 | 0 | 1.6.3-2 |
| Debian:6.0 | gnupg | 0 | 1.4.10-4+squeeze7 |
| Debian:6.0 | libgcrypt11 | 0 | 1.4.5-2+squeeze3 |
| Debian:7 | gnupg | 0 | 1.4.12-7+deb7u7 |
| Debian:7 | libgcrypt11 | 0 | 1.5.0-5+deb7u3 |
| Mageia:4 | gnupg | 0 | 1.4.16-1.2.mga4 |
| Mageia:4 | libgcrypt | 0 | 1.5.4-1.1.mga4 |
| SUSE:Linux Enterprise Desktop 11 SP3 | libgcrypt | 0 | 1.5.0-0.19.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | libgcrypt | 0 | 1.5.0-0.19.1 |
| SUSE:Linux Enterprise Desktop 12 | libgcrypt | 0 | 1.6.1-13.1 |
| SUSE:Linux Enterprise Server 11 SP3 | libgcrypt | 0 | 1.5.0-0.19.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | libgcrypt | 0 | 1.5.0-0.19.1 |
| SUSE:Linux Enterprise Server 11 SP4 | libgcrypt | 0 | 1.5.0-0.19.1 |
| SUSE:Linux Enterprise Server 12 | libgcrypt | 0 | 1.6.1-13.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | libgcrypt | 0 | 1.5.0-0.19.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | libgcrypt | 0 | 1.5.0-0.19.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | libgcrypt | 0 | 1.6.1-13.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP3 | libgcrypt | 0 | 1.5.0-0.19.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | libgcrypt | 0 | 1.5.0-0.19.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | libgcrypt | 0 | 1.6.1-13.1 |
| Ubuntu:14.04:LTS | gnupg | 0 | 1.4.16-1ubuntu2.3 |
| Ubuntu:14.04:LTS | gnupg2 | 0 | 2.0.22-3ubuntu1.3 |
| Ubuntu:14.04:LTS | libgcrypt11 | 0 | 1.5.3-2ubuntu4.2 |
| Ubuntu:14.04:LTS | libgcrypt20 | 0 | 1.6.1-2ubuntu1.14.04.1 |
| openSUSE:Tumbleweed | libgcrypt | 0 | 1.7.3-1.3 |
Related vulnerabilities
- CVE-2024-2236 A timing-based side-channel flaw was found in libgcrypt's RSA implementation. 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-2014-4617 The do_uncompress function in g10/compress.c in GnuPG 1.x before 1.4.17 and 2.x before… Also affects gnupg
- CVE-2026-114657 Grav from 2.0.0 before 2.2.5 contains an information disclosure vulnerability that allows… CWE-200
- CVE-2026-114574 A security vulnerability has been detected in massCodeIO massCode 5.10. CWE-200
- CVE-2026-111756 follow-redirects is a Node.js HTTP and HTTPS client wrapper that automatically follows… CWE-200