CVE-2016-0701
Description
OpenSSL 1.0.2 before 1.0.2f reuses the same private DH exponent with unsafe primes, allowing a remote attacker to recover the private key via multiple handshakes.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
OpenSSL 1.0.2 before 1.0.2f reuses the same private DH exponent with unsafe primes, allowing a remote attacker to recover the private key via multiple handshakes.
Vulnerability
The DH_check_pub_key function in crypto/dh/dh_check.c in OpenSSL 1.0.2 up to (but excluding) 1.0.2f does not ensure that prime numbers used for Diffie-Hellman key exchange are appropriate (i.e., 'safe' primes). Starting in version 1.0.2, OpenSSL added support for generating X9.42-style parameter files (such as those for RFC 5114), which may contain primes that are not safe and allow small-subgroup attacks. An attacker can exploit this weakness by completing multiple handshakes with a peer that reuses the same private DH exponent, eventually recovering the private key. [1][2]
Exploitation
To exploit this vulnerability, an attacker must complete multiple TLS handshakes with a peer (server) that uses the same private DH exponent across sessions. This occurs when the server is configured with DH parameters based on unsafe primes and either uses a static DH ciphersuite (key embedded in the certificate) or uses ephemeral DH (DHE) without the SSL_OP_SINGLE_DH_USE option (which is not set by default). In such cases, the server reuses the private exponent for the lifetime of the process. The attacker performs repeated handshakes, sending chosen DH public values to probe for small subgroups, and from the responses deduces the private exponent. [1][2]
Impact
Successful exploitation allows a remote attacker to recover the victim server's private DH exponent. With this, the attacker can decrypt past or future TLS sessions (for static DH ciphersuites) or, in the case of reused ephemeral keys, decrypt the specific handshakes performed. This leads to a breach of confidentiality of the encrypted communications. The attack is limited to servers using unsafe primes and reusing the same private exponent; many popular applications (e.g., Apache mod_ssl) set SSL_OP_SINGLE_DH_USE and are not at risk for DHE. However, static DH ciphersuites remain vulnerable regardless. [1][2]
Mitigation
OpenSSL 1.0.2f, released on 28 January 2016, fixes the vulnerability by properly checking primes in DH parameter generation and use. Users should upgrade to version 1.0.2f or later. As a workaround, administrators can set the SSL_OP_SINGLE_DH_USE option to ensure a fresh private exponent is generated for each DHE handshake, or avoid using unsafe primes (such as those from RFC 5114). Static DH ciphersuites should be disabled if not required. OpenSSL 1.0.1 reached end-of-life on 31 December 2016 and received no further security fixes. [1][2][3][4]
AI Insight generated on May 23, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
11cpe:2.3:a:openssl:openssl:1.0.2:*:*:*:*:*:*:*+ 9 more
- cpe:2.3:a:openssl:openssl:1.0.2:*:*:*:*:*:*:*
- cpe:2.3:a:openssl:openssl:1.0.2a:*:*:*:*:*:*:*
- cpe:2.3:a:openssl:openssl:1.0.2b:*:*:*:*:*:*:*
- cpe:2.3:a:openssl:openssl:1.0.2:beta1:*:*:*:*:*:*
- cpe:2.3:a:openssl:openssl:1.0.2:beta2:*:*:*:*:*:*
- cpe:2.3:a:openssl:openssl:1.0.2:beta3:*:*:*:*:*:*
- cpe:2.3:a:openssl:openssl:1.0.2c:*:*:*:*:*:*:*
- cpe:2.3:a:openssl:openssl:1.0.2d:*:*:*:*:*:*:*
- cpe:2.3:a:openssl:openssl:1.0.2e:*:*:*:*:*:*:*
- (no CPE)range: <1.0.2f
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
24- www.openssl.org/news/secadv/20160128.txtnvdVendor Advisory
- intothesymmetry.blogspot.com/2016/01/openssl-key-recovery-attack-on-dh-small.htmlnvd
- kb.juniper.net/InfoCenter/indexnvd
- lists.fedoraproject.org/pipermail/package-announce/2016-January/176373.htmlnvd
- lists.opensuse.org/opensuse-security-announce/2016-03/msg00009.htmlnvd
- www.oracle.com/technetwork/security-advisory/cpujul2016-2881720.htmlnvd
- www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.htmlnvd
- www.securityfocus.com/bid/82233nvd
- www.securityfocus.com/bid/91787nvd
- www.securitytracker.com/id/1034849nvd
- www.ubuntu.com/usn/USN-2883-1nvd
- cert-portal.siemens.com/productcert/pdf/ssa-412672.pdfnvd
- git.openssl.orgnvd
- git.openssl.orgnvd
- h20566.www2.hpe.com/hpsc/doc/public/displaynvd
- h20566.www2.hpe.com/portal/site/hpsc/public/kb/docDisplaynvd
- h20566.www2.hpe.com/portal/site/hpsc/public/kb/docDisplaynvd
- security.gentoo.org/glsa/201601-05nvd
- www.kb.cert.org/vuls/id/257823nvd
- www.oracle.com/security-alerts/cpuapr2020.htmlnvd
- www.oracle.com/security-alerts/cpujan2020.htmlnvd
- www.oracle.com/security-alerts/cpujul2020.htmlnvd
- www.oracle.com/security-alerts/cpuoct2020.htmlnvd
- www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.htmlnvd
News mentions
0No linked articles in our index yet.