CVE-2016-7055: Montgomery multiplication may produce incorrect results

Published Oct 11, 2016
·
Updated

Last updated 24 July 2024

Other sources

Quoting form the OpenSSL upstream advisory:

Montgomery multiplication may produce incorrect results (CVE-2016-7055) =======================================================================

Severity: Low

There is a carry propagating bug in the Broadwell-specific Montgomery multiplication procedure that handles input lengths divisible by, but longer than 256 bits. Analysis suggests that attacks against RSA, DSA and DH private keys are impossible. This is because the subroutine in question is not used in operations with the private key itself and an input of the attacker's direct choice. Otherwise the bug can manifest itself as transient authentication and key negotiation failures or reproducible erroneous outcome of public-key operations with specially crafted input. Among EC algorithms only Brainpool P-512 curves are affected and one presumably can attack ECDH key negotiation. Impact was not analyzed in detail, because pre-requisites for attack are considered unlikely. Namely multiple clients have to choose the curve in question and the server has to share the private key among them, neither of which is default behaviour. Even then only clients that chose the curve will be affected.

OpenSSL 1.1.0 users should upgrade to 1.1.0c

This issue does not affect OpenSSL versions prior to 1.0.2. Due to the low severity of this defect we are not issuing a new 1.0.2 release at this time. We recommend that 1.0.2 users wait for the next 1.0.2 release for the fix to become available. The fix is also available in the OpenSSL git repository in commit 57c4b9f6a2.

This issue was publicly reported as transient failures and was not initially recognized as a security issue. Thanks to Richard Morgan for providing reproducible case. The fix was developed by Andy Polyakov of the OpenSSL development team.

https://www.openssl.org/news/secadv/20161110.txt

— Red Hat

Some calculations, when run on an Intel Broadwell or later CPU, can produce in erroneous results. This flaw has been previously discussed by the Node.js team on GitHub. It is not believed that practical attacks can be crafted to exploit this vulnerability except in very specific circumstances. Therefore this is a low severity flaw.

All active versions of Node.js are affected, but the severity is very low for Node.js users.

— Node.Js

There is a carry propagating bug in the Broadwell-specific Montgomery multiplication procedure in OpenSSL 1.0.2 and 1.1.0 before 1.1.0c that handles input lengths divisible by, but longer than 256 bits. Analysis suggests that attacks against RSA, DSA and DH private keys are impossible. This is because the subroutine in question is not used in operations with the private key itself and an input of the attacker's direct choice. Otherwise the bug can manifest itself as transient authentication and key negotiation failures or reproducible erroneous outcome of public-key operations with specially crafted input. Among EC algorithms only Brainpool P-512 curves are affected and one presumably can attack ECDH key negotiation. Impact was not analyzed in detail, because pre-requisites for attack are considered unlikely. Namely multiple clients have to choose the curve in question and the server has to share the private key among them, neither of which is default behaviour. Even then only clients that chose the curve will be affected.

Affected Software

25 affected componentsFixes available
redhat/jbcs-httpd24-apache-commons-daemon<0:1.1.0-1.redhat_2.1.jbcs.el6
0:1.1.0-1.redhat_2.1.jbcs.el6
redhat/jbcs-httpd24-apache-commons-daemon-jsvc<1:1.1.0-1.redhat_2.jbcs.el6
1:1.1.0-1.redhat_2.jbcs.el6
redhat/jbcs-httpd24-apr<0:1.6.3-14.jbcs.el6
0:1.6.3-14.jbcs.el6
redhat/jbcs-httpd24-apr-util<0:1.6.1-9.jbcs.el6
0:1.6.1-9.jbcs.el6
redhat/jbcs-httpd24-httpd<0:2.4.29-17.jbcs.el6
0:2.4.29-17.jbcs.el6
redhat/jbcs-httpd24-nghttp2<0:1.29.0-8.jbcs.el6
0:1.29.0-8.jbcs.el6
redhat/jbcs-httpd24-openssl<1:1.0.2n-11.jbcs.el6
1:1.0.2n-11.jbcs.el6
redhat/jbcs-httpd24-apache-commons-daemon<0:1.1.0-1.redhat_2.1.jbcs.el7
0:1.1.0-1.redhat_2.1.jbcs.el7
redhat/jbcs-httpd24-apache-commons-daemon-jsvc<1:1.1.0-1.redhat_2.jbcs.el7
1:1.1.0-1.redhat_2.jbcs.el7
redhat/jbcs-httpd24-apr<0:1.6.3-14.jbcs.el7
0:1.6.3-14.jbcs.el7
redhat/jbcs-httpd24-apr-util<0:1.6.1-9.jbcs.el7
0:1.6.1-9.jbcs.el7
redhat/jbcs-httpd24-httpd<0:2.4.29-17.jbcs.el7
0:2.4.29-17.jbcs.el7
redhat/jbcs-httpd24-nghttp2<0:1.29.0-8.jbcs.el7
0:1.29.0-8.jbcs.el7
redhat/jbcs-httpd24-openssl<1:1.0.2n-11.jbcs.el7
1:1.0.2n-11.jbcs.el7
debian/openssl
1.1.1w-0+deb11u11.1.1w-0+deb11u23.0.15-1~deb12u13.0.14-1~deb12u23.4.1-1
OpenSSL OpenSSL>=1.0.2<1.0.2k
OpenSSL OpenSSL>=1.1.0<1.1.0c
Nodejs Node.js>=4.0.0<=4.1.2
Nodejs Node.js>=4.2.0<4.7.3
Nodejs Node.js>=6.0.0<=6.8.1
Nodejs Node.js>=6.9.0<6.9.5
Nodejs Node.js>=7.0.0<7.5.0
redhat/openssl<1.0.2
1.0.2
redhat/openssl<1.1.0
1.1.0
Node.js Node.js>=4.0.0<4.7.3, >=5.0.0<6.0.0, >=6.0.0<6.9.5, >=7.0.0<7.5.0
4.7.36.9.57.5.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade redhat/jbcs-httpd24-apache-commons-daemon to a version that resolves this vulnerability.

    Fixed in 0:1.1.0-1.redhat_2.1.jbcs.el6
  2. Upgrade

    Upgrade redhat/jbcs-httpd24-apache-commons-daemon-jsvc to a version that resolves this vulnerability.

    Fixed in 1:1.1.0-1.redhat_2.jbcs.el6
  3. Upgrade

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

    Fixed in 0:1.6.3-14.jbcs.el6
  4. Upgrade

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

    Fixed in 0:1.6.1-9.jbcs.el6
  5. Upgrade

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

    Fixed in 0:2.4.29-17.jbcs.el6
  6. Upgrade

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

    Fixed in 0:1.29.0-8.jbcs.el6
  7. Upgrade

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

    Fixed in 1:1.0.2n-11.jbcs.el6
  8. Upgrade

    Upgrade redhat/jbcs-httpd24-apache-commons-daemon to a version that resolves this vulnerability.

    Fixed in 0:1.1.0-1.redhat_2.1.jbcs.el7
  9. Upgrade

    Upgrade redhat/jbcs-httpd24-apache-commons-daemon-jsvc to a version that resolves this vulnerability.

    Fixed in 1:1.1.0-1.redhat_2.jbcs.el7
  10. Upgrade

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

    Fixed in 0:1.6.3-14.jbcs.el7
  11. Upgrade

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

    Fixed in 0:1.6.1-9.jbcs.el7
  12. Upgrade

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

    Fixed in 0:2.4.29-17.jbcs.el7
  13. Upgrade

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

    Fixed in 0:1.29.0-8.jbcs.el7
  14. Upgrade

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

    Fixed in 1:1.0.2n-11.jbcs.el7
  15. 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.4.1-1
  16. Upgrade

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

    Fixed in 1.0.2
  17. Upgrade

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

    Fixed in 1.1.0
  18. Upgrade

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

    Fixed in 4.7.3Fixed in 6.9.5Fixed in 7.5.0
  19. Upgrade

    Upgrade OpenSSL to a version that resolves this vulnerability.

    Fixed in 1.1.0c

Event History

Oct 11, 2016
CVE Published
12:00 AM
Nov 10, 2016
Data Sourced
via Red Hat·04:18 PM
DescriptionSeverityAffected Software
May 4, 2017
CVE Published
via MITRE·08:00 PM
Data Sourced
via MITRE·08:00 PM
Description

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the severity of CVE-2016-7055?

The severity of CVE-2016-7055 is classified as low.

2

How do I fix CVE-2016-7055?

To fix CVE-2016-7055, upgrade to the recommended versions of affected packages as specified by Red Hat.

3

What does CVE-2016-7055 affect?

CVE-2016-7055 affects certain versions of OpenSSL and related Red Hat packages that utilize Montgomery multiplication.

4

Is CVE-2016-7055 exploitable in the wild?

While CVE-2016-7055 is a low severity issue, it could potentially lead to incorrect results in cryptographic operations, which may be exploited under specific conditions.

5

When was CVE-2016-7055 disclosed?

CVE-2016-7055 was disclosed on November 10, 2016.

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