OpenSSL CVE-2016-0797 Vulnerability

description-logoDescription

Severity: LowIn the BN_hex2bn function the number of hex digits is calculated using an intvalue |i|. Later |bn_expand| is called with a value of |i * 4|. For large valuesof |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 asubsequent 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 tothe internal BIGNUM data field, but it is insufficiently sized leading to heapcorruption. A similar issue exists in BN_dec2bn. This could have securityconsequences if BN_hex2bn/BN_dec2bn is ever called by user applications withvery 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 tobe untrusted, e.g. config file data or application command line arguments. Ifuser developed applications generate config file data based on untrusted datathen it is possible that this could also lead to security consequences. This isalso 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.2gOpenSSL 1.0.1 users should upgrade to 1.0.1sThis issue was reported to OpenSSL on February 19th 2016 by Guido Vranken. Thefix was developed by Matt Caswell of the OpenSSL development team.

affected-products-logoAffected Applications

OpenSSL

CVE References

CVE-2016-0797