CVE-2016-2178: openssl 1.0.2h vulnerabilities

Published May 23, 2016
·
Updated

A flaw in the OpenSSL DSA implementation means that a non-constant time codepath is followed for certain operations. This has been demonstrated through a cache-timing attack to be sufficient for an attacker to recover the private DSA key.

This is very low severity for Node.js users due to the difficulty in taking advantage of this attack and because DSA is very rarely used.

Other sources

It was discovered that OpenSSL did not always use constant time operations when computing Digital Signature Algorithm (DSA) signatures. A local attacker could possibly use this flaw to obtain a private DSA key belonging to another user or service running on the same system.

Operations in the DSA signing algorithm should run in constant time in order to avoid side channel attacks. A flaw in the OpenSSL DSA implementation means that a non-constant time codepath is followed for certain operations. This has been demonstrated through a cache-timing attack to be sufficient for an attacker to recover the private DSA key.

Upstream fix:

https://git.openssl.org/?p=openssl.git;a=commitdiff;h=d168705e11526a4b487640c7cac5b53ee3646cbc https://git.openssl.org/?p=openssl.git;a=commitdiff;h=3681a4558c13198944e6f7f149c4be188e076e14

— Red Hat

The dsasignsetup function in crypto/dsa/dsaossl.c in OpenSSL through 1.0.2h does not properly ensure the use of constant-time operations, which makes it easier for local users to discover a DSA private key via a timing side-channel attack.

Affected Software

61 affected componentsFixes available
redhat/jbcs-httpd24-httpd<0:2.4.23-102.jbcs.el6
0:2.4.23-102.jbcs.el6
redhat/jbcs-httpd24-nghttp2<0:1.12.0-9.jbcs.el6
0:1.12.0-9.jbcs.el6
redhat/jbcs-httpd24-openssl<1:1.0.2h-12.jbcs.el6
1:1.0.2h-12.jbcs.el6
redhat/jbcs-httpd24-httpd<0:2.4.23-102.jbcs.el7
0:2.4.23-102.jbcs.el7
redhat/jbcs-httpd24-nghttp2<0:1.12.0-9.jbcs.el7
0:1.12.0-9.jbcs.el7
redhat/jbcs-httpd24-openssl<1:1.0.2h-12.jbcs.el7
1:1.0.2h-12.jbcs.el7
redhat/openssl<0:1.0.1e-48.el6_8.3
0:1.0.1e-48.el6_8.3
redhat/openssl<1:1.0.1e-51.el7_2.7
1:1.0.1e-51.el7_2.7
redhat/jbcs-httpd24-openssl<1:1.0.2h-13.jbcs.el6
1:1.0.2h-13.jbcs.el6
redhat/jbcs-httpd24-openssl<1:1.0.2h-13.jbcs.el7
1:1.0.2h-13.jbcs.el7
debian/openssl
1.1.1w-0+deb11u11.1.1w-0+deb11u23.0.15-1~deb12u13.0.14-1~deb12u23.5.0-1
OpenSSL OpenSSL=1.0.1
OpenSSL OpenSSL=1.0.1a
OpenSSL OpenSSL=1.0.1b
OpenSSL OpenSSL=1.0.1c
OpenSSL OpenSSL=1.0.1d
OpenSSL OpenSSL=1.0.1e
OpenSSL OpenSSL=1.0.1f
OpenSSL OpenSSL=1.0.1g
OpenSSL OpenSSL=1.0.1h
OpenSSL OpenSSL=1.0.1i
OpenSSL OpenSSL=1.0.1j
OpenSSL OpenSSL=1.0.1k
OpenSSL OpenSSL=1.0.1l
OpenSSL OpenSSL=1.0.1m
OpenSSL OpenSSL=1.0.1n
OpenSSL OpenSSL=1.0.1o
OpenSSL OpenSSL=1.0.1p
OpenSSL OpenSSL=1.0.1q
OpenSSL OpenSSL=1.0.1r
OpenSSL OpenSSL=1.0.1s
OpenSSL OpenSSL=1.0.1t
OpenSSL OpenSSL=1.0.2
OpenSSL OpenSSL=1.0.2a
OpenSSL OpenSSL=1.0.2b
OpenSSL OpenSSL=1.0.2c
OpenSSL OpenSSL=1.0.2d
OpenSSL OpenSSL=1.0.2e
OpenSSL OpenSSL=1.0.2f
OpenSSL OpenSSL=1.0.2g
OpenSSL OpenSSL=1.0.2h
Oracle Linux=5
Oracle Linux=6
Oracle Linux=7
Oracle Solaris=10
Oracle Solaris=11.3
SUSE Linux Enterprise=12.0
Nodejs Node.js>=0.10.0<0.10.47
Nodejs Node.js>=0.12.0<0.12.16
Nodejs Node.js>=4.0.0<=4.1.2
Nodejs Node.js>=4.2.0<4.6.0
Nodejs Node.js>=5.0.0<6.7.0
Debian Debian Linux=8.0
Canonical Ubuntu Linux=12.04
Canonical Ubuntu Linux=14.04
Canonical Ubuntu Linux=16.04
redhat/openssl<1.0.1
1.0.1
redhat/openssl<1.0.2
1.0.2
Node.js Node.js>=4.0.0<4.6.0, >=5.0.0<6.0.0, >=6.0.0<6.7.0
4.6.06.7.0
Node.js Node.js>=4.0.0<4.6.0
4.6.0
Node.js Node.js>=6.0.0<6.7.0
6.7.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade redhat/jbcs-httpd24-httpd to a version that resolves this vulnerability.

    Fixed in 0:2.4.23-102.jbcs.el6
  2. Upgrade

    Upgrade redhat/jbcs-httpd24-nghttp2 to a version that resolves this vulnerability.

    Fixed in 0:1.12.0-9.jbcs.el6
  3. Upgrade

    Upgrade redhat/jbcs-httpd24-openssl to a version that resolves this vulnerability.

    Fixed in 1:1.0.2h-12.jbcs.el6
  4. Upgrade

    Upgrade redhat/jbcs-httpd24-httpd to a version that resolves this vulnerability.

    Fixed in 0:2.4.23-102.jbcs.el7
  5. Upgrade

    Upgrade redhat/jbcs-httpd24-nghttp2 to a version that resolves this vulnerability.

    Fixed in 0:1.12.0-9.jbcs.el7
  6. Upgrade

    Upgrade redhat/jbcs-httpd24-openssl to a version that resolves this vulnerability.

    Fixed in 1:1.0.2h-12.jbcs.el7
  7. Upgrade

    Upgrade redhat/openssl to a version that resolves this vulnerability.

    Fixed in 0:1.0.1e-48.el6_8.3
  8. Upgrade

    Upgrade redhat/openssl to a version that resolves this vulnerability.

    Fixed in 1:1.0.1e-51.el7_2.7
  9. Upgrade

    Upgrade redhat/jbcs-httpd24-openssl to a version that resolves this vulnerability.

    Fixed in 1:1.0.2h-13.jbcs.el6
  10. Upgrade

    Upgrade redhat/jbcs-httpd24-openssl to a version that resolves this vulnerability.

    Fixed in 1:1.0.2h-13.jbcs.el7
  11. Upgrade

    Upgrade debian/openssl to a version that resolves this vulnerability.

    Fixed in 1.1.1w-0+deb11u1Fixed in 1.1.1w-0+deb11u2Fixed in 3.0.15-1~deb12u1Fixed in 3.0.14-1~deb12u2Fixed in 3.5.0-1
  12. Upgrade

    Upgrade redhat/openssl to a version that resolves this vulnerability.

    Fixed in 1.0.1
  13. Upgrade

    Upgrade redhat/openssl to a version that resolves this vulnerability.

    Fixed in 1.0.2
  14. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 4.6.0Fixed in 6.7.0
  15. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 4.6.0
  16. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 6.7.0

Event History

May 23, 2016
CVE Published
12:00 AM
Jun 7, 2016
Data Sourced
via Red Hat·09:12 AM
DescriptionSeverityAffected Software
Jun 20, 2016
CVE Published
via MITRE·12:00 AM
Data Sourced
via MITRE·12:00 AM
Description
Sep 28, 2016
Data Sourced
via Node.js·12:43 AM
Severity
Data Sourced
via Node.js·12:47 AM
Affected Software

Frequently Asked Questions

1

What is the severity of CVE-2016-2178?

CVE-2016-2178 is rated as a high severity vulnerability due to its potential to allow attackers to obtain a private DSA key.

2

How do I fix CVE-2016-2178?

To fix CVE-2016-2178, you should upgrade to the patched versions of OpenSSL and related packages as specified in the security advisories.

3

Who is affected by CVE-2016-2178?

CVE-2016-2178 affects systems using certain versions of OpenSSL that do not implement constant time operations for DSA signatures.

4

What types of attacks can be performed using CVE-2016-2178?

A local attacker can exploit CVE-2016-2178 to potentially gain access to private DSA keys belonging to other users or services on the same system.

5

Are there any known exploits for CVE-2016-2178?

While there are no specific public exploits reported for CVE-2016-2178, the nature of the vulnerability suggests it could be leveraged in targeted attacks.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203