Bug 1311880 (CVE-2016-0797) - CVE-2016-0797 OpenSSL: BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption
Summary: CVE-2016-0797 OpenSSL: BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2016-0797
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1301848 1301849 1301850 1301851 1301852 1313535 1313595 1313598 1331755
Blocks: 1301847 1395463
TreeView+ depends on / blocked
 
Reported: 2016-02-25 09:23 UTC by Huzaifa S. Sidhpurwala
Modified: 2021-02-17 04:17 UTC (History)
40 users (show)

Fixed In Version: openssl 1.0.1s, openssl 1.0.2g
Doc Type: Bug Fix
Doc Text:
An integer overflow flaw, leading to a NULL pointer dereference or a heap-based memory corruption, was found in the way some BIGNUM functions of OpenSSL were implemented. Applications that use these functions with large untrusted input could crash or, potentially, execute arbitrary code.
Clone Of:
Environment:
Last Closed: 2019-06-08 02:48:50 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2016:0301 0 normal SHIPPED_LIVE Important: openssl security update 2016-03-01 21:07:25 UTC
Red Hat Product Errata RHSA-2016:0302 0 normal SHIPPED_LIVE Important: openssl security update 2016-03-01 19:45:53 UTC
Red Hat Product Errata RHSA-2016:0379 0 normal SHIPPED_LIVE Important: rhev-hypervisor security, bug fix and enhancement update 2016-03-09 19:10:28 UTC
Red Hat Product Errata RHSA-2016:2957 0 normal SHIPPED_LIVE Important: Red Hat JBoss Core Services Apache HTTP 2.4.23 Release 2016-12-16 03:11:19 UTC

Description Huzaifa S. Sidhpurwala 2016-02-25 09:23:19 UTC
As per Upstream advisory:

In the BN_hex2bn function the number of hex digits is calculated using an int
value |i|. Later |bn_expand| is called with a value of |i * 4|. For large values
of |i| this can result in |bn_expand| not allocating any memory because |i * 4|
is negative. This can leave the internal BIGNUM data field as NULL leading to a
subsequent NULL ptr deref. For very large values of |i|, the calculation |i * 4|
could be a positive value smaller than |i|. In this case memory is allocated to
the internal BIGNUM data field, but it is insufficiently sized leading to heap
corruption. A similar issue exists in BN_dec2bn. This could have security
consequences if BN_hex2bn/BN_dec2bn is ever called by user applications with
very large untrusted hex/dec data. This is anticipated to be a rare occurrence.

All OpenSSL internal usage of these functions use data that is not expected to
be untrusted, e.g. config file data or application command line arguments. If
user developed applications generate config file data based on untrusted data
then it is possible that this could also lead to security consequences. This is
also anticipated to be rare.

This issue affects OpenSSL versions 1.0.2 and 1.0.1.

OpenSSL 1.0.2 users should upgrade to 1.0.2g
OpenSSL 1.0.1 users should upgrade to 1.0.1s

This issue was reported to OpenSSL on February 19th 2016 by Guido Vranken.  The
fix was developed by Matt Caswell of the OpenSSL development team.

Comment 2 Martin Prpič 2016-02-29 12:30:00 UTC
Acknowledgments:

Name: the OpenSSL project
Upstream: Guido Vranken

Comment 4 Huzaifa S. Sidhpurwala 2016-03-01 14:21:08 UTC
External References:

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

Comment 5 errata-xmlrpc 2016-03-01 14:52:52 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 5

Via RHSA-2016:0302 https://rhn.redhat.com/errata/RHSA-2016-0302.html

Comment 6 errata-xmlrpc 2016-03-01 16:09:31 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6
  Red Hat Enterprise Linux 7

Via RHSA-2016:0301 https://rhn.redhat.com/errata/RHSA-2016-0301.html

Comment 10 errata-xmlrpc 2016-03-09 14:49:50 UTC
This issue has been addressed in the following products:

  RHEV-H and Agents for RHEL-6
  RHEV-H and Agents for RHEL-7

Via RHSA-2016:0379 https://rhn.redhat.com/errata/RHSA-2016-0379.html

Comment 11 Fedora Update System 2016-03-17 18:24:45 UTC
openssl101e-1.0.1e-7.el5 has been pushed to the Fedora EPEL 5 stable repository. If problems still persist, please make note of it in this bug report.

Comment 13 errata-xmlrpc 2016-12-15 22:16:08 UTC
This issue has been addressed in the following products:



Via RHSA-2016:2957 https://rhn.redhat.com/errata/RHSA-2016-2957.html


Note You need to log in before you can comment on or make changes to this bug.