Skip to content
OpenAdvisories
High · 7.5 Public exploit CVE-2021-33560 EUVD-2021-20252GHSA-g9p5-p7h5-p2wg

Libgcrypt before 1.8.8 and 1.9.x before 1.9.3 mishandles ElGamal encryption because it lacks exponent blinding to address a side-channel at…

Published Jun 8, 2021 · Updated Oct 14, 2026 · Assigned by mitre

Description

Libgcrypt before 1.8.8 and 1.9.x before 1.9.3 mishandles ElGamal encryption because it lacks exponent blinding to address a side-channel attack against mpi_powm, and the window size is not chosen appropriately. This, for example, affects use of ElGamal in OpenPGP.

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 libgcrypt20 1.9.4-2 —
Debian 13 libgcrypt20 1.9.4-2 —
Debian 12 libgcrypt20 1.9.4-2 —
ReleasePackageFixed inAdvisory
Ubuntu 22.04 LTS libgcrypt20 1.8.7-5ubuntu2 —
Ubuntu 20.04 LTS libgcrypt20 1.8.5-5ubuntu1.1 USN-5080-1
Ubuntu 18.04 LTS libgcrypt20 1.8.1-4ubuntu1.3 USN-5080-1
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro FIPS 20.04 LTS libgcrypt20 1.8.5-5ubuntu1.fips.1.1 —
Ubuntu Pro FIPS 18.04 LTS libgcrypt20 No fix yet —
Ubuntu Pro FIPS-updates 20.04 LTS libgcrypt20 1.8.5-5ubuntu1.fips.1.1 —
Ubuntu Pro FIPS-updates 18.04 LTS libgcrypt20 1.8.1-4ubuntu1.fips.3 —
Ubuntu Pro 16.04 LTS libgcrypt20 1.6.5-2ubuntu0.6+esm1 USN-5080-2
ReleasePackageFixed inAdvisory
RHEL 8 libgcrypt +1 1.8.5-6.el8 RHSA-2021:4409

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 8 libgcrypt +1 1.8.5-6.el8 ALSA-2021:4409

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 8 libgcrypt 1.8.5-6.el8 RLSA-2021:4409
ReleasePackageFixed inAdvisory
SLES 15 SP3 libgcrypt 1.8.2-8.39.1 SUSE-SU-2021:2157-1
SLES 15 SP2 libgcrypt 1.8.2-8.39.1 SUSE-SU-2021:2157-1
SLES 15 SP1 libgcrypt 1.8.2-8.39.1 SUSE-SU-2021:2157-1
SLES 15 libgcrypt 1.8.2-6.52.1 SUSE-SU-2021:2155-1
SLES 12 SP5 libgcrypt 1.6.1-16.77.1 SUSE-SU-2021:2156-1
Show 22 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES 12 SP4 libgcrypt 1.6.1-16.77.1 SUSE-SU-2021:2156-1
SLES 12 SP3 libgcrypt 1.6.1-16.77.1 SUSE-SU-2021:2156-1
SLES 12 SP2 libgcrypt 1.6.1-16.77.1 SUSE-SU-2021:2156-1
SLES 11 SP4 libgcrypt 1.5.0-0.26.6.1 SUSE-SU-2021:14751-1
SLES for SAP 15 SP1 libgcrypt 1.8.2-8.39.1 SUSE-SU-2021:2157-1
SLES for SAP 15 libgcrypt 1.8.2-6.52.1 SUSE-SU-2021:2155-1
SLES for SAP 12 SP5 libgcrypt 1.6.1-16.77.1 SUSE-SU-2021:2156-1
SLES for SAP 12 SP4 libgcrypt 1.6.1-16.77.1 SUSE-SU-2021:2156-1
SLES for SAP 12 SP3 libgcrypt 1.6.1-16.77.1 SUSE-SU-2021:2156-1
SLE Micro 5.0 libgcrypt 1.8.2-8.39.1 SUSE-SU-2021:2157-1
SLE HPC 15 SP1 libgcrypt 1.8.2-8.39.1 SUSE-SU-2021:2157-1
SLE HPC 15 libgcrypt 1.8.2-6.52.1 SUSE-SU-2021:2155-1
SUSE OpenStack Cloud Crowbar 9 libgcrypt 1.6.1-16.77.1 SUSE-SU-2021:2156-1
SUSE OpenStack Cloud Crowbar 8 libgcrypt 1.6.1-16.77.1 SUSE-SU-2021:2156-1
SUSE OpenStack Cloud 9 libgcrypt 1.6.1-16.77.1 SUSE-SU-2021:2156-1
SUSE OpenStack Cloud 8 libgcrypt 1.6.1-16.77.1 SUSE-SU-2021:2156-1
SUSE Manager Server 4.0 libgcrypt 1.8.2-8.39.1 SUSE-SU-2021:2157-1
SUSE Manager Retail Branch Server 4.0 libgcrypt 1.8.2-8.39.1 SUSE-SU-2021:2157-1
SUSE Manager Proxy 4.0 libgcrypt 1.8.2-8.39.1 SUSE-SU-2021:2157-1
SUSE Linux Enterprise Point of Sale 11 SP3 libgcrypt 1.5.0-0.26.6.1 SUSE-SU-2021:14751-1
SUSE HPE Helion OpenStack 8 libgcrypt 1.6.1-16.77.1 SUSE-SU-2021:2156-1
SUSE Enterprise Storage 6 libgcrypt 1.8.2-8.39.1 SUSE-SU-2021:2157-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed libgcrypt 1.9.4-1.2 openSUSE-SU-2024:10941-1
openSUSE Leap 15.3 libgcrypt 1.8.2-8.39.1 openSUSE-SU-2021:2157-1
openSUSE Leap 15.2 libgcrypt 1.8.2-lp152.17.3.1 openSUSE-SU-2021:0919-1
ReleasePackageFixed inAdvisory
Alpine v3.24 libgcrypt 1.9.4-r0 —
Alpine v3.23 libgcrypt 1.9.4-r0 —
Alpine v3.22 libgcrypt 1.9.4-r0 —
Alpine v3.21 libgcrypt 1.9.4-r0 —
Alpine v3.20 libgcrypt 1.9.4-r0 —
Show 9 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 libgcrypt 1.9.4-r0 —
Alpine v3.18 libgcrypt 1.9.4-r0 —
Alpine v3.17 libgcrypt 1.9.4-r0 —
Alpine v3.16 libgcrypt 1.9.4-r0 —
Alpine v3.15 libgcrypt 1.9.4-r0 —
Alpine v3.14 libgcrypt 1.9.4-r0 —
Alpine v3.13 libgcrypt 1.8.8-r0 —
Alpine v3.12 libgcrypt 1.8.8-r0 —
Alpine v3.11 libgcrypt 1.8.8-r0 —

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2 libgcrypt +1 1.5.3-14.amzn2.0.3 ALAS2-2022-1769

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 8 libgcrypt +1 1.8.5-6.el8 ELSA-2022-9263, ELSA-2021-4409

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Advisories 17

References