Mailing List Archive

[security fix] Libgcrypt and GnuPG

While evaluating the "Get Your Hands Off My Laptop" [1] paper I missed
to describe [2] a software combination which has not been fixed and is
thus vulnerable to the attack described by the paper. If you are using
a GnuPG version with a *Libgcrypt version < 1.6.0*, it is possible to
mount the described side-channel attack on Elgamal encryption subkeys.
To check whether you are using a vulnerable Libgcrypt version, enter

gpg2 --version

on the command line; the second line of the output gives the Libgcrypt

gpg (GnuPG) 2.0.25
libgcrypt 1.5.3

In this example Libgcrypt is vulnerable. If you see 1.6.0 or 1.6.1 you
are fine. GnuPG versions since 1.4.16 are not affected because they do
not use Libgcrypt.

The recommendation is to update any Libgcrypt version below 1.6.0 to at
least the latest version from the 1.5 series which is 1.5.4. Updating
to 1.6.1 is also possible but that requires to rebuild GnuPG.

Libgcrypt 1.5.4 has been released yesterday [3]; for convenience I
include the download instructions below. A CVE-id has not yet been

Many thanks to Daniel Genkin for pointing out this problem.





Libgcrypt source code is hosted at the GnuPG FTP server and its mirrors
as listed at . On the
primary server the source tarball and its digital signature are: (1478k)

That file is bzip2 compressed. A gzip compressed version is here: (1763k)

Alternativley you may upgrade using this patch file: (17k)

In order to check that the version of Libgcrypt you are going to build
is an original and unmodified one, you can do it in one of the following

* Check the supplied OpenPGP signature. For example to check the
signature of the file libgcrypt-1.5.4.tar.bz2 you would use this

gpg --verify libgcrypt-1.5.4.tar.bz2.sig

This checks whether the signature file matches the source file. You
should see a message indicating that the signature is good and made
by the release signing key 4F25E3B6 which is certified by my well
known key 1E42B367. To retrieve the keys you may use the command
"gpg --fetch-key".

* If you are not able to use GnuPG, you have to verify the SHA-1

sha1sum libgcrypt-1.5.4.tar.bz2

and check that the output matches the first line from the
following list:

bdf4b04a0d2aabc04ab3564fbe38fd094135aa7a libgcrypt-1.5.4.tar.bz2
71e432e0ae8792076a40c6059667997250abbb9d libgcrypt-1.5.4.tar.gz
8876ae002751e6ec26c76e510d17fc3e0eccb3ed libgcrypt-1.5.3-1.5.4.diff.bz2

Watching out for possible security problems and working with researches
to fix them takes a lot of time. g10 Code GmbH, a German company owned
and headed by me, is bearing these costs. To help us carry on this
work, we need your support; please see .

Die Gedanken sind frei. Ausnahmen regelt ein Bundesgesetz.