Fix ASN1_INTEGER handling.
authorDr. Stephen Henson <steve@openssl.org>
Fri, 15 Apr 2016 01:37:09 +0000 (02:37 +0100)
committerMatt Caswell <matt@openssl.org>
Tue, 3 May 2016 12:06:15 +0000 (13:06 +0100)
commitd7ab691bc479d3cf2eea07329db6ce0e2589f0b9
treead78427ab9613eaf07a1e4d48e5680cc9b2dc81c
parentd202a602e07b7090e3e5d75216b47cc7eb6fd4b6
Fix ASN1_INTEGER handling.

Only treat an ASN1_ANY type as an integer if it has the V_ASN1_INTEGER
tag: V_ASN1_NEG_INTEGER is an internal only value which is never used
for on the wire encoding.

Thanks to David Benjamin <davidben@google.com> for reporting this bug.

This was found using libFuzzer.

RT#4364 (part)CVE-2016-2108.

Reviewed-by: Emilia Käsper <emilia@openssl.org>
crypto/asn1/a_type.c
crypto/asn1/tasn_dec.c
crypto/asn1/tasn_enc.c