The ElGamal implementation in Libgcrypt before 1.9.4 allows plaintext recovery because, during interaction between two cryptographic libraries, a certain dangerous combination of the prime defined by the receiver's public key, the generator defined by the receiver's public key, and the sender's ephemeral exponents can lead to a cross-configuration attack against OpenPGP.
CVE-2021-40528
Score 5.9 from GitHub Security Advisory published 2022-05-24. NVD baseline CVSS 5.9; sources differ by 0.0.
- Lower severity and no public exploit yet
A fix is available — apply it.
- CVSS v3
- 5.9
- EG Score
- 5.9(medium)
- EG Risk
- 27(Track)EG Risk 27/100SSVC: Track
EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).
How it’s computedSeverity59% × 45%Exploitation1% × 40%Automatability0% × 15%Action: Routine — remediate on your standard cadence. - EPSS PROB
- 1%
- EPSS %ILE
- 72%
- KEV
- Not listed
Published
September 6, 2021
Last Modified
June 9, 2025
References (10)
- cve@mitrehttps://eprint.iacr.org/2021/923
- cve@mitrehttps://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git%3Ba=commit%3Bh=3462280f2e23e16adf3ed5176e0f2413d8861320
- cve@mitrehttps://ibm.github.io/system-security-research-updates/2021/07/20/insecurity-elgamal-pt1
- cve@mitrehttps://ibm.github.io/system-security-research-updates/2021/09/06/insecurity-elgamal-pt2
- cve@mitrehttps://security.gentoo.org/glsa/202210-13
- af854a3a-2127-422b-91ae-364da2661108https://eprint.iacr.org/2021/923
- af854a3a-2127-422b-91ae-364da2661108https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git%3Ba=commit%3Bh=3462280f2e23e16adf3ed5176e0f2413d8861320
- af854a3a-2127-422b-91ae-364da2661108https://ibm.github.io/system-security-research-updates/2021/07/20/insecurity-elgamal-pt1
- af854a3a-2127-422b-91ae-364da2661108https://ibm.github.io/system-security-research-updates/2021/09/06/insecurity-elgamal-pt2
- af854a3a-2127-422b-91ae-364da2661108https://security.gentoo.org/glsa/202210-13
Patch Availability(3)
| Vendor / Ecosystem | Fixed in / Patch | Released | Source |
|---|---|---|---|
| ubuntu | libgcrypt20-dev (1.8.5-5ubuntu1.1) @ focal | 2026-05-26 | ubuntu |
| ubuntu | libgcrypt20-doc (1.6.5-2ubuntu0.6+esm1) @ xenial | 2026-05-26 | ubuntu |
| redhat | libgcrypt-0:1.8.5-7.el8_6 | 2022-06-30 | redhat |
Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.
Affected Packages
(8 across 8 ecosystems)
Alpine:v3.11(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| libgcrypt | — | 1.8.8-r1 | — |
Alpine:v3.12(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| libgcrypt | — | 1.8.8-r1 | — |
Alpine:v3.13(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| libgcrypt | — | 1.8.8-r1 | — |
Debian:11(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| libgcrypt20 | — | 1.8.7-6 | — |
Debian:12(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| libgcrypt20 | — | 1.8.7-6 | — |
Debian:13(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| libgcrypt20 | — | 1.8.7-6 | — |
Debian:14(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| libgcrypt20 | — | 1.8.7-6 | — |
Debian:9(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| libgcrypt20 | 1.7.6-2, 1.7.6-2+deb9u1, 1.7.6-2+deb9u2, 1.7.6-2+deb9u3 | 1.7.6-2+deb9u4 | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
All Vendor Advisories
(4)
Every vendor that published an advisory referencing this CVE — pulled from our cve_vendor_advisories aggregation. Click any row for the vendor's original advisory page.
- Microsoft MSRCCVE-2021-405282021-09-14
The ElGamal implementation in Libgcrypt before 1.9.4 allows plaintext recovery because during interaction between two cryptographic libraries a certain dangerous combination of the prime defined by the receiver's public key the generator defined by the receiver's public key and the sender's ephemeral exponents can lead to a cross-configuration attack against OpenPGP.
- Red HatRHSA-2022:5311MODERATE2021-07-20
RHSA-2022:5311 — Moderate
- UbuntuUSN-5080-1MEDIUM
Libgcrypt vulnerabilities
- UbuntuUSN-5080-2MEDIUM
Libgcrypt vulnerabilities
Data Freshness Timeline
(refreshed 6× in last 7d / 31× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
Showing the most recent 100 of 166 total refreshes for this CVE.
- 2026-09-19 15:38 UTCEPSS rescore
- 2026-09-18 19:23 UTCEPSS rescore
- 2026-09-17 19:23 UTCEPSS rescore
- 2026-09-17 19:23 UTCEPSS rescore
- 2026-09-16 14:05 UTCEPSS rescore
- 2026-09-15 03:06 UTCEPSS rescore
- 2026-09-12 14:57 UTCEPSS rescore
- 2026-09-11 14:49 UTCEPSS rescore
- 2026-09-11 09:33 UTCEPSS rescore
- 2026-09-08 21:56 UTCEPSS rescore
- 2026-09-07 15:58 UTCEPSS rescore
- 2026-09-06 13:45 UTCEPSS rescore
- 2026-09-06 09:00 UTCOSV refresh
- 2026-09-05 15:25 UTCEPSS rescore
- 2026-09-04 13:57 UTCEPSS rescore
- 2026-09-04 05:03 UTCEPSS rescore
- 2026-09-02 14:09 UTCEPSS rescore
- 2026-09-01 13:50 UTCEPSS rescore
- 2026-09-01 03:33 UTCEPSS rescore
- 2026-08-30 19:14 UTCEPSS rescore
- 2026-08-30 19:14 UTCEPSS rescore
- 2026-08-30 01:19 UTCEPSS rescore
- 2026-08-28 21:37 UTCEPSS rescore
- 2026-08-27 14:22 UTCEPSS rescore
- 2026-08-26 14:43 UTCEPSS rescore
Show 75 moreShow fewer
- 2026-08-25 13:46 UTCEPSS rescore
- 2026-08-24 14:13 UTCEPSS rescore
- 2026-08-23 00:16 UTCEPSS rescore
- 2026-08-21 23:46 UTCEPSS rescore
- 2026-08-20 22:52 UTCEPSS rescore
- 2026-08-20 22:52 UTCEPSS rescore
- 2026-08-19 19:04 UTCOSV refresh
- 2026-08-19 17:01 UTCEPSS rescore
- 2026-08-18 13:45 UTCEPSS rescore
- 2026-08-17 13:44 UTCEPSS rescore
- 2026-08-16 14:53 UTCEPSS rescore
- 2026-08-16 02:11 UTCEPSS rescore
- 2026-08-15 01:27 UTCEPSS rescore
- 2026-08-13 21:57 UTCEPSS rescore
- 2026-08-12 13:48 UTCEPSS rescore
- 2026-08-11 13:38 UTCEPSS rescore
- 2026-08-09 13:44 UTCEPSS rescore
- 2026-08-08 16:33 UTCEPSS rescore
- 2026-08-07 16:24 UTCEPSS rescore
- 2026-08-06 13:44 UTCEPSS rescore
- 2026-08-05 19:14 UTCEPSS rescore
- 2026-08-04 14:59 UTCOSV refresh
- 2026-08-04 10:34 UTCEPSS rescore
- 2026-08-03 10:33 UTCEPSS rescore
- 2026-08-02 02:24 UTCEPSS rescore
- 2026-08-01 04:13 UTCEPSS rescore
- 2026-07-30 16:25 UTCEPSS rescore
- 2026-07-30 01:28 UTCEPSS rescore
- 2026-07-28 15:33 UTCEPSS rescore
- 2026-07-26 14:52 UTCEPSS rescore
- 2026-07-26 14:52 UTCEPSS rescore
- 2026-07-25 14:15 UTCEPSS rescore
- 2026-07-24 14:15 UTCEPSS rescore
- 2026-07-23 14:16 UTCEPSS rescore
- 2026-07-23 02:04 UTCEG score recompute
- 2026-07-22 22:50 UTCEG score recompute
- 2026-07-22 14:06 UTCEPSS rescore
- 2026-07-21 15:22 UTCEPSS rescore
- 2026-07-21 15:22 UTCEPSS rescore
- 2026-07-20 17:05 UTCEPSS rescore
- 2026-07-19 14:29 UTCEPSS rescore
- 2026-07-19 02:27 UTCEPSS rescore
- 2026-07-18 12:59 UTCOSV refresh
- 2026-07-18 10:02 UTCEPSS rescore
- 2026-07-18 10:02 UTCEPSS rescore
- 2026-07-16 17:00 UTCEPSS rescore
- 2026-07-16 17:00 UTCEPSS rescore
- 2026-07-15 16:55 UTCEPSS rescore
- 2026-07-15 16:55 UTCEPSS rescore
- 2026-07-15 01:58 UTCEPSS rescore
- 2026-07-13 22:27 UTCEPSS rescore
- 2026-07-13 22:27 UTCEPSS rescore
- 2026-07-13 06:11 UTCEPSS rescore
- 2026-07-13 06:11 UTCEPSS rescore
- 2026-07-12 05:44 UTCEPSS rescore
- 2026-07-11 08:25 UTCEPSS rescore
- 2026-07-11 08:25 UTCEPSS rescore
- 2026-07-09 19:07 UTCEPSS rescore
- 2026-07-08 15:12 UTCEPSS rescore
- 2026-07-07 13:43 UTCEPSS rescore
- 2026-07-06 16:25 UTCEPSS rescore
- 2026-07-06 16:25 UTCEPSS rescore
- 2026-07-06 02:21 UTCEPSS rescore
- 2026-07-06 02:21 UTCEPSS rescore
- 2026-07-05 02:28 UTCEPSS rescore
- 2026-07-05 02:28 UTCEPSS rescore
- 2026-07-04 06:29 UTCEPSS rescore
- 2026-07-04 06:29 UTCEPSS rescore
- 2026-07-02 16:57 UTCEPSS rescore
- 2026-07-01 15:04 UTCEPSS rescore
- 2026-06-30 23:20 UTCEPSS rescore
- 2026-06-30 23:20 UTCEPSS rescore
- 2026-06-30 16:00 UTCOSV refresh
- 2026-06-29 14:04 UTCEPSS rescore
- 2026-06-28 14:05 UTCEPSS rescore
Related CVEs(same vendor + same CWE)
Same vendor
10 shownredhat
- CVE-2001-0825EG 10.0HIGH
- CVE-2001-0554EG 10.0EPSS p99HIGH
- CVE-2001-0414EG 10.0EPSS p100HIGH
- CVE-2001-0191EG 10.0EPSS p92HIGH
- CVE-2001-0301EG 10.0EPSS p91HIGH
- CVE-2001-0197EG 10.0EPSS p96HIGH
- CVE-2001-0233EG 10.0EPSS p96HIGH
- CVE-2001-0010EG 10.0EPSS p98HIGH
- CVE-2001-0011EG 10.0EPSS p94HIGH
- CVE-2001-0013EG 10.0EPSS p96HIGH
Same CWE
10 shownCWE-327
Frequently asked(5)
What is CVE-2021-40528?
When was CVE-2021-40528 disclosed?
Is CVE-2021-40528 actively exploited?
What is the CVSS score of CVE-2021-40528?
How do I remediate CVE-2021-40528?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2021-40528
Is Your Infrastructure Affected by CVE-2021-40528?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.