[security fix] GnuPG 1.4.14 released

From:

Werner Koch

Subject:

[security fix] GnuPG 1.4.14 released

Date:

Thu, 25 Jul 2013 12:26:55 +0200

User-agent:

Gnus/5.13 (Gnus v5.13)

Hello!
We are pleased to announce the availability of a new stable GnuPG-1
release: Version 1.4.14. This is a *security fix* release and all users
of GnuPG < 2.0 are advised to updated to this version. See below for
the impact of the problem.
For users of GnuPG >= 2.0 a new version of Libgcrypt (1.5.3) has been
released which fixes the problem for them.
The GNU Privacy Guard (GnuPG) is GNU's tool for secure communication
and data storage. It is a complete and free replacement of PGP and
can be used to encrypt data and to create digital signatures. It
includes an advanced key management facility, smartcard support and is
compliant with the OpenPGP Internet standard as described by RFC-4880.
Note that this version is from the GnuPG-1 series and thus smaller than
those from the GnuPG-2 series, easier to build, and also better portable
to ancient platforms. In contrast to GnuPG-2 (e.g version 2.0.20) it
comes with no support for S/MIME, Secure Shell, or other tools useful
for desktop environments. Fortunately you may install both versions
alongside on the same system without any conflict.
What's New
===========
* Mitigate the Yarom/Falkner flush+reload side-channel attack on
RSA secret keys. See <http://eprint.iacr.org/2013/448>.
* Fixed IDEA for big-endian CPUs
* Improved the diagnostics for failed keyserver lockups.
* Minor bug and portability fixes.
Impact of the Cache Side-Channel Attack
=======================================
Here is the abstract from the Yarom and Falkner paper:
Flush+Reload is a cache side-channel attack that monitors access to
data in shared pages. In this paper we demonstrate how to use the
attack to extract private encryption keys from GnuPG. The high
resolution and low noise of the Flush+Reload attack enables a spy
program to recover over 98% of the bits of the private key in a
single decryption or signing round. Unlike previous attacks, the
attack targets the last level L3 cache. Consequently, the spy
program and the victim do not need to share the execution core of
the CPU. The attack is not limited to a traditional OS and can be
used in a virtualised environment, where it can attack programs
executing in a different VM.
I general the use of private keys on multi-user machines is imminent
dangerous due to a variety of possibly attacks. Example for such
attacks are locally exploitable vulnerabilities and all kind of side
channel attacks which can't be mitigated by the operating system. Thus
the best advise is to use a private key only on a fully trusted machine;
i.e. a machine with full control over the software which may run on it.
However, it is common to put private keys on servers for example to
process encrypted mail. If the server hardware is shared with other
users it is thus important to update GnuPG so to avoid the described
attack. On a pure desktop machine, with only one user, mounting this
attack is probably not effective because there are easier ways to gain
access to the machine and thus the keys. For best protection of private
keys, smartcards are often the best choice.
Getting the Software
====================
First of all, decide whether you really need GnuPG version 1.4.x - most
users are better off with the modern GnuPG 2.0.x version. Then follow
the instructions found at http://www.gnupg.org/download/ or read on:
GnuPG 1.4.14 may be downloaded from one of the GnuPG mirror sites or
direct from ftp://ftp.gnupg.org/gcrypt/ . The list of mirrors can be
found at http://www.gnupg.org/mirrors.html . Note, that GnuPG is not
available at ftp.gnu.org.
On the mirrors you should find the following files in the *gnupg*
directory:
gnupg-1.4.14.tar.bz2 (3601k)
gnupg-1.4.14.tar.bz2.sig
GnuPG source compressed using BZIP2 and OpenPGP signature.
gnupg-1.4.14.tar.gz (4967k)
gnupg-1.4.14.tar.gz.sig
GnuPG source compressed using GZIP and OpenPGP signature.
gnupg-1.4.13-1.4.14.diff.bz2 (14k)
A patch file to upgrade a 1.4.13 GnuPG source tree. This patch
does not include updates of the language files.
Select one of them. To shorten the download time, you probably want to
get the BZIP2 compressed file. Please try another mirror if exceptional
your mirror is not yet up to date.
In the *binary* directory, you should find these files:
gnupg-w32cli-1.4.14.exe (1567k)
gnupg-w32cli-1.4.14.exe.sig
GnuPG compiled for Microsoft Windows and OpenPGP signature.
This is a command line only version; the source files are the
same as given above. Note, that this is a minimal installer and
unless you are just in need for the gpg binary, you are better
off using the full featured installer at http://www.gpg4win.org .
Checking the Integrity
======================
In order to check that the version of GnuPG which you are going to
install is an original and unmodified one, you can do it in one of
the following ways:
* If you already have a trusted version of GnuPG installed, you
can simply check the supplied signature. For example to check the
signature of the file gnupg-1.4.14.tar.bz2 you would use this command:
gpg --verify gnupg-1.4.14.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 that signing key. Make sure that you have the right key,
either by checking the fingerprint of that key with other sources
or by checking that the key has been signed by a trustworthy other
key. Note, that you can retrieve the signing key using the command
finger wk ,at' g10code.com | gpg --import
or using a keyserver like
gpg --recv-key 4F25E3B6
The distribution key 4F25E3B6 is signed by the well known key
1E42B367. If you get an key expired message, you should retrieve a
fresh copy as the expiration date might have been prolonged.
NEVER USE A GNUPG VERSION YOU JUST DOWNLOADED TO CHECK THE
INTEGRITY OF THE SOURCE - USE AN EXISTING GNUPG INSTALLATION!
* If you are not able to use an old version of GnuPG, you have to verify
the SHA-1 checksum. Assuming you downloaded the file
gnupg-1.4.14.tar.bz2, you would run the sha1sum command like this:
sha1sum gnupg-1.4.14.tar.bz2
and check that the output matches the first line from the
following list:
6202181ba2871fb3448c751a573b4ae0c4770806 gnupg-1.4.14.tar.bz2
607691dd42a24f39fd74dded20375c4c0bc47d2c gnupg-1.4.14.tar.gz
e7623a6b8b6de00d3788246d3e51fde1ce7b5897 gnupg-1.4.13-1.4.14.diff.bz2
ac9e89240ce37810febf59e28db655d1271b2fea gnupg-w32cli-1.4.14.exe
Internationalization
====================
GnuPG comes with support for 29 languages. The Chinese (Simple and
Traditional), Czech, Danish, Dutch, French, German, Norwegian, Polish,
Romanian, Russian, Spanish, Swedish, Ukrainian, and Turkish translations
are close to be complete.
Support
=======
A listing with commercial support offers for GnuPG is available at:
http://www.gnupg.org/service.html
The driving force behind the development of GnuPG is the company of its
principal author, Werner Koch. Maintenance and improvement of GnuPG and
related software take up a most of their resources. To allow them
continue their work they ask to either purchase a support contract,
engage them for custom enhancements, or to donate money:
http://g10code.com/gnupg-donation.html
Thanks
======
We have to thank all the people who helped with this release, be it
testing, coding, translating, suggesting, auditing, donating money,
spreading the word, or answering questions on the mailing lists. Thanks
to Yoval Yarom for providing the paper in advance and testing the fix.
Happy Hacking,
The GnuPG Team (David, Werner and the other contributors)
--
Die Gedanken sind frei. Ausnahmen regelt ein Bundesgesetz.