Gentoo: GLSA-201612-01: GnuPG: RNG output is predictable
Summary
A long standing bug (since 1998) in Libgcrypt (see "GLSA 201610-04" below) and GnuPG allows an attacker to predict the output from the standard RNG. Please review the "Entropy Loss and Output Predictability in the Libgcrypt PRNG" paper below for a deep technical analysis.
Resolution
All GnuPG 1 users should upgrade to the latest version:
# emerge --sync
# emerge --ask --oneshot --verbose ">=app-crypt/gnupg-1.4.21"
References
[ 1 ] CVE-2016-6313 http://nvd.nist.gov/nvd.cfm?cvename=CVE-2016-6313 [ 2 ] Entropy Loss and Output Predictability in the Libgcrypt PRNG https://formal.kastel.kit.edu/~klebanov/pubs/libgcrypt-cve-2016-6313.pdf [ 3 ] GLSA 201610-04 https://security.gentoo.org/glsa/201610-04
Availability
This GLSA and any updates to it are available for viewing at
the Gentoo Security Website:
https://security.gentoo.org/glsa/201612-01
Concerns
Security is a primary focus of Gentoo Linux and ensuring the confidentiality and security of our users' machines is of utmost importance to us. Any security concerns should be addressed to security@gentoo.org or alternatively, you may file a bug at https://bugs.gentoo.org.
Synopsis
Due to a design flaw, the output of GnuPG's Random Number Generator (RNG) is predictable.
Background
The GNU Privacy Guard, GnuPG, is a free replacement for the PGP suite of cryptographic software.
Affected Packages
------------------------------------------------------------------- Package / Vulnerable / Unaffected ------------------------------------------------------------------- 1 app-crypt/gnupg < 1.4.21 >= 1.4.21
Impact
=====
An attacker who obtains 580 bytes of the random number from the
standard RNG can trivially predict the next 20 bytes of output.
This flaw does not affect the default generation of keys, because
running gpg for key creation creates at most 2 keys from the pool. For
a single 4096 bit RSA key, 512 bytes of random are required and thus
for the second key (encryption subkey), 20 bytes could be predicted
from the the first key.
However, the security of an OpenPGP key depends on the primary key
(which was generated first) and thus the 20 predictable bytes should
not be a problem. For the default key length of 2048 bit nothing will
be predictable.
Workaround
There is no known workaround at this time.