Skip to content

CVE-2017-3732 BN_mod_exp may produce incorrect results on x86_64

MediumCVSS 5.9 EPSS 15.4%
Published
Updated
Exploit status
No public exploit known

Description

There is a carry propagating bug in the x86_64 Montgomery squaring procedure in OpenSSL 1.0.2 before 1.0.2k and 1.1.0 before 1.1.0d. No EC algorithms are affected. Analysis suggests that attacks against RSA and DSA as a result of this defect would be very difficult to perform and are not believed likely. Attacks against DH are considered just feasible (although very difficult) because most of the work necessary to deduce information about a private key may be performed offline. The amount of resources required for such an attack would be very significant and likely only accessible to a limited number of attackers. An attacker would additionally need online access to an unpatched system using the target private key in a scenario with persistent DH parameters and a private key that is shared between multiple clients. For example this can occur by default in OpenSSL DHE based SSL/TLS ciphersuites. Note: This issue is very similar to CVE-2015-3193 but must be treated as a separate problem.

Affected products

ProductAffected versionsFixed in
debian/openssl(Debian:12) < 1.1.0d-1 1.1.0d-1
debian/openssl(Debian:13) < 1.1.0d-1 1.1.0d-1
debian/openssl(Debian:14) < 1.1.0d-1 1.1.0d-1
OpenSSL = 1.0.2 No fix listed
OpenSSL = 1.0.2-beta1 No fix listed
OpenSSL = 1.0.2-beta2 No fix listed
OpenSSL = 1.0.2-beta3 No fix listed
OpenSSL = 1.0.2a No fix listed
OpenSSL = 1.0.2b No fix listed
OpenSSL = 1.0.2c No fix listed
OpenSSL = 1.0.2d No fix listed
OpenSSL = 1.0.2e No fix listed
OpenSSL = 1.0.2f No fix listed
OpenSSL = 1.0.2h No fix listed
OpenSSL = 1.0.2i No fix listed
OpenSSL = 1.1.0a No fix listed
OpenSSL = 1.1.0b No fix listed
OpenSSL = 1.1.0c No fix listed
nodejs node.js >= 4.0.0, <= 4.1.2 No fix listed
nodejs node.js >= 4.2.0, < 4.7.3 4.7.3
nodejs node.js >= 5.0.0, <= 5.12.0 No fix listed
nodejs node.js >= 6.0.0, <= 6.8.1 No fix listed
nodejs node.js >= 6.9.0, < 6.9.5 6.9.5
nodejs node.js >= 7.0.0, < 7.5.0 7.5.0
alpine/openssl(Alpine:v3.2) < 1.0.2k-r0 1.0.2k-r0
Show 17 more
ProductAffected versionsFixed in
alpine/openssl(Alpine:v3.3) < 1.0.2k-r0 1.0.2k-r0
alpine/openssl(Alpine:v3.4) < 1.0.2k-r0 1.0.2k-r0
OpenSSL = openssl-1.1.0 No fix listed
OpenSSL = openssl-1.1.0a No fix listed
OpenSSL = openssl-1.1.0b No fix listed
OpenSSL = openssl-1.1.0c No fix listed
OpenSSL = openssl-1.0.2 No fix listed
OpenSSL = openssl-1.0.2a No fix listed
OpenSSL = openssl-1.0.2b No fix listed
OpenSSL = openssl-1.0.2c No fix listed
OpenSSL = openssl-1.0.2d No fix listed
OpenSSL = openssl-1.0.2e No fix listed
OpenSSL = openssl-1.0.2f No fix listed
OpenSSL = openssl-1.0.2g No fix listed
OpenSSL = openssl-1.0.2h No fix listed
OpenSSL = openssl-1.0.2i No fix listed
OpenSSL = openssl-1.0.2j No fix listed

References