Red Hat Bugzilla – Bug 1591163
CVE-2018-0495 openssl: ROHNP - Key Extraction Side Channel in Multiple Crypto Libraries
Last modified: 2018-10-31 18:59:52 EDT
An implementation flaw was discovered in multiple cryptographic libraries that allows a side-channel based attacker to recover ECDSA or DSA private keys. When these cryptographic libraries use the private key to create a signature, such as for a TLS or SSH connection, they inadvertently leak information through memory caches. An unprivileged attacker running on the same machine can collect the information from a few thousand signatures and recover the value of the private key. External References: https://www.nccgroup.trust/us/our-research/technical-advisory-return-of-the-hidden-number-problem/
Created botan tracking bugs for this issue: Affects: epel-all [bug 1591169] Affects: fedora-all [bug 1591172] Created cryptlib tracking bugs for this issue: Affects: epel-7 [bug 1591166] Affects: fedora-all [bug 1591165] Created libgcrypt tracking bugs for this issue: Affects: fedora-all [bug 1591174] Created libtomcrypt tracking bugs for this issue: Affects: epel-all [bug 1591179] Affects: fedora-all [bug 1591178] Created mingw-libgcrypt tracking bugs for this issue: Affects: epel-7 [bug 1591176] Affects: fedora-all [bug 1591175] Created mingw-openssl tracking bugs for this issue: Affects: epel-7 [bug 1591167] Affects: fedora-all [bug 1591168] Created nss tracking bugs for this issue: Affects: fedora-all [bug 1591164] Created openssl tracking bugs for this issue: Affects: fedora-all [bug 1591170]
*** Bug 1591904 has been marked as a duplicate of this bug. ***
Bouncycastle was mentioned in this report as having "non-constant math, but different code pattern" which might point to a theoretical weakness in Bouncycastle's implementation of Elliptic Curve cryptography. However the CVE-2018-0495 issue does not apply to Bouncycastle, thus it is considered "not affected" by this flaw. Bouncycastle inherently relies upon Java BigInteger arithmetic, which is not constant-time by design, so other countermeasures are needed to mitigate timing/side channel attacks. In RSA operations, Bouncycastle uses blinding (ref CVE-2016-1000341). Since 1.59, EC operations use a table lookup to prevent information leaks through similar channels.
Libgcrypt upstream commit: https://github.com/gpg/libgcrypt/commit/9010d1576e278a4274ad3f4aa15776c28f6ba965
libgcrypt in Red Hat Enterprise Linux, does not enable ECC code. Since only ECDSA in libgcrypt is vulnerable, it seems RHEL versions of libgcrypt may not be vulnerable to this flaw. This issue was addressed by Mozilla nss in version nss-3.38 https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.38_release_notes OpenSSL upstream patches: https://git.openssl.org/?p=openssl.git;a=commit;h=949ff36623eafc3523a9f91784992965018ffb05 (1.0.2) https://git.openssl.org/?p=openssl.git;a=commit;h=0c27d793745c7837b13646302b6890a556b7017a (1.1)
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2018:3221 https://access.redhat.com/errata/RHSA-2018:3221