A vulnerability in the way OpenSSL handles ASN.1 tags could allow a remote attacker to cause a denial of service.
OpenSSL implements the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols and includes a general purpose cryptographic library. SSL and TLS are commonly used to provide authentication, encryption, integrity, and non-repudiation services to network applications such as HTTP, IMAP, POP3, LDAP, and others. Clients and servers exchange authentication information in X.509 certificates. While the SSL and TLS protocols are not directly based on ASN.1, they do rely on ASN.1 objects used in X.509 certificates and other cryptographic elements (e.g. PKCS#1 encoded RSA values).
OpenSSL contains an integer overflow vulnerability in the way ASN.1 tags are handled. A specially crafted ASN.1 tag could cause the OpenSSL library to perform an out-of-bounds memory read operation. This could result in a denial of service, crashing the process using the OpenSSL library.
2. Unusual ASN.1 tag values can cause an out of bounds read undercertain circumstances, resulting in a denial of service vulnerability.
All versions of SSLeay and versions of OpenSSL prior to 0.9.7c or 0.9.6k are vulnerable, as are operating systems and applications that use vulnerable SSLeay or OpenSSL libraries. The OpenSSL advisory describes as vulnerable "Any application that makes use of OpenSSL's ASN1 library to parse untrusted data. This includes all SSL or TLS applications, those using S/MIME (PKCS#7) or certificate generation routines."
By providing specially crafted ASN.1 encoded data to a vulnerable system, a remote attacker could cause a denial of service. One potential attack vector is a client certificate message containing specially crafted X.509 certificates.
Upgrade or Patch
This vulnerability was discovered and researched by NISCC.
This document was written by Art Manion.