diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2015-03-09 23:11:45 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2015-03-19 12:58:35 +0000 |
commit | c3c7fb07dc975dc3c9de0eddb7d8fd79fc9c67c1 (patch) | |
tree | c0b77e5fda902b9f41f6e5e51d6cb13427c37163 /crypto | |
parent | b19d8143212ae5fbc9cebfd51c01f802fabccd33 (diff) |
Fix ASN1_TYPE_cmp
Fix segmentation violation when ASN1_TYPE_cmp is passed a boolean type. This
can be triggered during certificate verification so could be a DoS attack
against a client or a server enabling client authentication.
CVE-2015-0286
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/asn1/a_type.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/crypto/asn1/a_type.c b/crypto/asn1/a_type.c index 4a36aff6ac..af795306b5 100644 --- a/crypto/asn1/a_type.c +++ b/crypto/asn1/a_type.c @@ -119,6 +119,9 @@ int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b) case V_ASN1_OBJECT: result = OBJ_cmp(a->value.object, b->value.object); break; + case V_ASN1_BOOLEAN: + result = a->value.boolean - b->value.boolean; + break; case V_ASN1_NULL: result = 0; /* They do not have content. */ break; |