Name | CVE-2017-7526 |
Description | libgcrypt before version 1.7.8 is vulnerable to a cache side-channel attack resulting into a complete break of RSA-1024 while using the left-to-right method for computing the sliding-window expansion. The same attack is believed to work on RSA-2048 with moderately more computation. This side-channel requires that attacker can run arbitrary software on the hardware where the private RSA key is used. |
Source | CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
References | DLA-1015-1, DLA-1080-1, DSA-3901-1, DSA-3960-1 |
The table below lists information on source packages.
Source Package | Release | Version | Status |
---|---|---|---|
gnupg (PTS) | jessie, jessie (lts) | 1.4.18-7+deb8u5 | fixed |
gnupg1 (PTS) | stretch (security), stretch (lts), stretch | 1.4.21-4+deb9u1 | vulnerable |
buster | 1.4.23-1 | fixed | |
bullseye, bookworm | 1.4.23-1.1 | fixed | |
sid, trixie | 1.4.23-2 | fixed | |
gnupg2 (PTS) | jessie, jessie (lts) | 2.0.26-6+deb8u3 | fixed |
stretch (security) | 2.1.18-8~deb9u2 | fixed | |
stretch (lts), stretch | 2.1.18-8~deb9u5 | fixed | |
buster (security), buster, buster (lts) | 2.2.12-1+deb10u2 | fixed | |
bullseye (security), bullseye | 2.2.27-2+deb11u2 | fixed | |
bookworm | 2.2.40-1.1 | fixed | |
sid, trixie | 2.2.45-2 | fixed | |
libgcrypt20 (PTS) | jessie, jessie (lts) | 1.6.3-2+deb8u9 | fixed |
stretch (security), stretch (lts), stretch | 1.7.6-2+deb9u4 | fixed | |
buster | 1.8.4-5+deb10u1 | fixed | |
bullseye | 1.8.7-6 | fixed | |
bookworm | 1.10.1-3 | fixed | |
sid, trixie | 1.11.0-6 | fixed |
The information below is based on the following data on fixed versions.
Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
---|---|---|---|---|---|---|
gnupg | source | wheezy | 1.4.12-7+deb7u9 | DLA-1080-1 | ||
gnupg | source | jessie | 1.4.18-7+deb8u4 | DSA-3960-1 | ||
gnupg | source | (unstable) | (unfixed) | |||
gnupg1 | source | (unstable) | 1.4.22-1 | |||
gnupg2 | source | (unstable) | (not affected) | |||
libgcrypt11 | source | wheezy | 1.5.0-5+deb7u6 | DLA-1015-1 | ||
libgcrypt11 | source | (unstable) | (unfixed) | |||
libgcrypt20 | source | jessie | 1.6.3-2+deb8u4 | DSA-3901-1 | ||
libgcrypt20 | source | stretch | 1.7.6-2+deb9u1 | DSA-3901-1 | ||
libgcrypt20 | source | (unstable) | 1.7.8-1 |
- gnupg2 <not-affected> (Uses system libgcrypt)
[stretch] - gnupg1 <no-dsa> (Only affects the legacy packages)
https://eprint.iacr.org/2017/627
Fixes for RSA exponent blinding fixes (A):
https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=a9f612def801c8145d551d995475e5d51a4c988c
https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=aff5fd0f2650e24cf99efcd7b499627ea48782c3
https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=312101e1f266314b4391fcdbe11c03de5c147e38
Fixes for mpi_powm itsef (B):
https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=0e6788517eac6f508fa32ec5d5c1cada7fb980bc
https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=fbd10abc057453789017f11c7f1fc8e6c61b79a3
For the particular attack to RSA, either (A) or (B) is enough. In
general cases, (A) plus (B) is needed.
For GnuPG: https://lists.gnupg.org/pipermail/gnupg-users/2017-July/058598.html
GnuPG: https://dev.gnupg.org/rC8725c99ffa41778f382ca97233183bcd687bb0ce
GnuPG1: https://dev.gnupg.org/D438