{"id":"CVE-2021-40528","details":"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.","modified":"2026-05-18T20:50:00.660830Z","published":"2021-09-06T19:15:07.587Z","related":["ALSA-2022:5311","openSUSE-SU-2024:12540-1"],"references":[{"type":"WEB","url":"https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git%3Ba=commit%3Bh=3462280f2e23e16adf3ed5176e0f2413d8861320"},{"type":"ADVISORY","url":"https://eprint.iacr.org/2021/923"},{"type":"ADVISORY","url":"https://ibm.github.io/system-security-research-updates/2021/07/20/insecurity-elgamal-pt1"},{"type":"ADVISORY","url":"https://security.gentoo.org/glsa/202210-13"},{"type":"EVIDENCE","url":"https://ibm.github.io/system-security-research-updates/2021/09/06/insecurity-elgamal-pt2"}],"affected":[{"ranges":[{"type":"GIT","repo":"git://git.gnupg.org/libgcrypt.git","events":[{"introduced":"0"},{"fixed":"05422ca24a0391dad2a0b7790a904ce348819c10"}],"database_specific":{"source":"CPE_FIELD","extracted_events":[{"introduced":"0"},{"fixed":"1.9.4"}],"cpe":"cpe:2.3:a:gnupg:libgcrypt:*:*:*:*:*:*:*:*"}}],"versions":["libgcrypt-1.10-base","libgcrypt-1.9.3","libgcrypt-1.9.1","libgcrypt-1.9-base","libgcrypt-1.8.1","libgcrypt-1.8.0","libgcrypt-1.7.3","libgcrypt-1.7.2","libgcrypt-1.7.1","libgcrypt-1.7.0","libgcrypt-1.6.0","libgcrypt-1.5.0","libgcrypt-1.5.0-beta1","post-nuke-of-trailing-ws","ecc-integration-done","libgcrypt-1.4.4","libgcrypt-1.4.3","libgcrypt-1.4.2","libgcrypt-1.4.2rc2","libgcrypt-1.4.2rc1","libgcrypt-1.4.1","libgcrypt-1.4.1rc1","libgcrypt-1.4.0","libgcrypt-1.3.2","libgcrypt-1.3.1","libgcrypt-1.3.0","V1-2-1","V1-2-0","V1-1-94","marcus-after-thread-cbs","marcus-before-thread-cbs","V1-1-93","V1-1-92","V1-1-91","V1-1-90","V1-1-44","V1-1-43","V1-1-42","V1-1-12","V1-1-11","V1-1-10","V1-1-9","V1-1-8","V1-1-7","now-less-freedom-protected","last-gpl-version","V1-1-6","V1-1-5","V1-1-4","V1-1-3","V1-1-2","V1-1-0","DEVEL-BRANCH-1-1","V1-0-0","V0-9-11","V0-9-10","V0-9-9","V0-9-8","V0-9-7","V0-9-6","V0-9-5","V0-9-4","V1-0-4","V1-0-3","V1-0-2","V1-0-1-ePit-1","V1-0-1","V0-9-3","V0-9-2","V0-9-1","V0-9-0","V0-4-5","V0-4-4","V0-4-3","V0-4-2","V0-4-1","V0-4-0","V0-3-5","V0-3-4","V0-3-3","V0-3-2","V0-3-1","V0-3-0","V0-2-19","V0-2-18","V0-2-17","V0-2-15","V0-2-10","V-0-2-8","V0-2-6","V0-2-0","V0-1-0","V0-0-0"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-40528.json"}},{"ranges":[{"type":"GIT","repo":"https://github.com/gpg/libgcrypt","events":[{"introduced":"0"},{"fixed":"05422ca24a0391dad2a0b7790a904ce348819c10"}],"database_specific":{"source":"CPE_FIELD","extracted_events":[{"introduced":"0"},{"fixed":"1.9.4"}],"cpe":"cpe:2.3:a:gnupg:libgcrypt:*:*:*:*:*:*:*:*"}}],"versions":["libgcrypt-1.10-base","libgcrypt-1.9.3","libgcrypt-1.9.1","libgcrypt-1.9-base","libgcrypt-1.8.1","libgcrypt-1.8.0","libgcrypt-1.7.3","libgcrypt-1.7.2","libgcrypt-1.7.1","libgcrypt-1.7.0","libgcrypt-1.6.0","libgcrypt-1.5.0","libgcrypt-1.5.0-beta1","post-nuke-of-trailing-ws","ecc-integration-done","libgcrypt-1.4.4","libgcrypt-1.4.3","libgcrypt-1.4.2","libgcrypt-1.4.2rc2","libgcrypt-1.4.2rc1","libgcrypt-1.4.1","libgcrypt-1.4.1rc1","libgcrypt-1.4.0","libgcrypt-1.3.2","libgcrypt-1.3.1","libgcrypt-1.3.0","V1-2-1","V1-2-0","V1-1-94","marcus-after-thread-cbs","marcus-before-thread-cbs","V1-1-93","V1-1-92","V1-1-91","V1-1-90","V1-1-44","V1-1-43","V1-1-42","V1-1-12","V1-1-11","V1-1-10","V1-1-9","V1-1-8","V1-1-7","now-less-freedom-protected","last-gpl-version","V1-1-6","V1-1-5","V1-1-4","V1-1-3","V1-1-2","V1-1-0","DEVEL-BRANCH-1-1","V1-0-0","V0-9-11","V0-9-10","V0-9-9","V0-9-8","V0-9-7","V0-9-6","V0-9-5","V0-9-4","V1-0-4","V1-0-3","V1-0-2","V1-0-1-ePit-1","V1-0-1","V0-9-3","V0-9-2","V0-9-1","V0-9-0","V0-4-5","V0-4-4","V0-4-3","V0-4-2","V0-4-1","V0-4-0","V0-3-5","V0-3-4","V0-3-3","V0-3-2","V0-3-1","V0-3-0","V0-2-19","V0-2-18","V0-2-17","V0-2-15","V0-2-10","V-0-2-8","V0-2-6","V0-2-0","V0-1-0","V0-0-0"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-40528.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N"}]}