OpenSSL accepts unsolicited client certificate messages. This could allow an attacker to exploit underlying vulnerabilities in client certificate handling.
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.
Both the (obsolete) SSL 3.0 standard and RFC 2246 (TLSv1) state that a client certificate message "...is only sent if the server requests a certificate." To minimize the opportunity for attacks, an SSL/TLS service should ignore unsolicited client certificate messages.
4. Due to an error in the SSL/TLS protocol handling, a server will parsea client certificate when one is not specifically requested. This byitself is not strictly speaking a vulnerability but it does mean that*all* SSL/TLS servers that use OpenSSL can be attacked usingvulnerabilities 1, 2 and 3 even if they don't enable client authentication.
Vulnerability 1 refers to VU#935264. Vulnerability 2 refers to both VU#255484 and VU#380864. Vulnerability 3 refers to VU#686224.
Using specially crafted client certificate messages, a remote attacker can attempt to exploit underlying vulnerabilities in SSL/TLS ASN.1 parsing implementations. The impacts of these vulnerabilities (VU#935264, VU#255484, VU#380864, and VU#686224) are denial of service and possible execution of arbitrary code.
Upgrade or Patch
Information used in this document came from OpenSSL and NISCC.
This document was written by Art Manion.