OpenSSL

Cryptography and SSL/TLS Toolkit

Vulnerabilities

If you think you have found a security bug in OpenSSL, please report it to us.

Show issues fixed only in OpenSSL 3.2, 3.1, 3.0, 1.1.1, 1.1.0, 1.0.2, 1.0.1, 1.0.0, 0.9.8, 0.9.7, 0.9.6, or all versions

Fixed in OpenSSL 0.9.8

OpenSSL 0.9.8 is out of support since 1st January 2016 and no longer receiving updates.

Jump to year: 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005

2016

CVE-2016-0704 (OpenSSL Advisory) [Moderate severity] 01 March 2016:
This issue only affected versions of OpenSSL prior to March 19th 2015 at which time the code was refactored to address the vulnerability CVE-2015-0293. s2_srvr.c overwrite the wrong bytes in the master-key when applying Bleichenbacher protection for export cipher suites. This provides a Bleichenbacher oracle, and could potentially allow more efficient variants of the DROWN attack.
Found by David Adrian and J.Alex Halderman (University of Michigan).
  • Fixed in OpenSSL 0.9.8zf (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.0r, OpenSSL 1.0.1m, OpenSSL 1.0.2a
CVE-2016-0703 (OpenSSL Advisory) [High severity] 01 March 2016:
This issue only affected versions of OpenSSL prior to March 19th 2015 at which time the code was refactored to address vulnerability CVE-2015-0293. s2_srvr.c did not enforce that clear-key-length is 0 for non-export ciphers. If clear-key bytes are present for these ciphers, they *displace* encrypted-key bytes. This leads to an efficient divide-and-conquer key recovery attack: if an eavesdropper has intercepted an SSLv2 handshake, they can use the server as an oracle to determine the SSLv2 master-key, using only 16 connections to the server and negligible computation. More importantly, this leads to a more efficient version of DROWN that is effective against non-export ciphersuites, and requires no significant computation.
Found by David Adrian and J.Alex Halderman (University of Michigan).
  • Fixed in OpenSSL 0.9.8zf (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.0r, OpenSSL 1.0.1m, OpenSSL 1.0.2a

2015

CVE-2015-3195 (OpenSSL Advisory) [Moderate severity] 03 December 2015:
When presented with a malformed X509_ATTRIBUTE structure OpenSSL will leak memory. This structure is used by the PKCS#7 and CMS routines so any application which reads PKCS#7 or CMS data from untrusted sources is affected. SSL/TLS is not affected.
Found by Adam Langley (Google/BoringSSL) using libFuzzer.
  • Fixed in OpenSSL 0.9.8zh (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.2e, OpenSSL 1.0.1q, OpenSSL 1.0.0t
CVE-2015-1792 (OpenSSL Advisory) [Moderate severity] 11 June 2015:
When verifying a signedData message the CMS code can enter an infinite loop if presented with an unknown hash function OID. This can be used to perform denial of service against any system which verifies signedData messages using the CMS code.
Found by Johannes Bauer.
  • Fixed in OpenSSL 0.9.8zg (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.2b, OpenSSL 1.0.1n, OpenSSL 1.0.0s
CVE-2015-1790 (OpenSSL Advisory) [Moderate severity] 11 June 2015:
The PKCS#7 parsing code does not handle missing inner EncryptedContent correctly. An attacker can craft malformed ASN.1-encoded PKCS#7 blobs with missing content and trigger a NULL pointer dereference on parsing. Applications that decrypt PKCS#7 data or otherwise parse PKCS#7 structures from untrusted sources are affected. OpenSSL clients and servers are not affected.
Found by Michal Zalewski (Google).
  • Fixed in OpenSSL 0.9.8zg (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.2b, OpenSSL 1.0.1n, OpenSSL 1.0.0s
CVE-2015-1789 (OpenSSL Advisory) [Moderate severity] 11 June 2015:
X509_cmp_time does not properly check the length of the ASN1_TIME string and can read a few bytes out of bounds. In addition, X509_cmp_time accepts an arbitrary number of fractional seconds in the time string. An attacker can use this to craft malformed certificates and CRLs of various sizes and potentially cause a segmentation fault, resulting in a DoS on applications that verify certificates or CRLs. TLS clients that verify CRLs are affected. TLS clients and servers with client authentication enabled may be affected if they use custom verification callbacks.
Found by Robert Święcki (Google Security Team). Found by Hanno Böck.
  • Fixed in OpenSSL 0.9.8zg (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.2b, OpenSSL 1.0.1n, OpenSSL 1.0.0s
CVE-2015-1788 (OpenSSL Advisory) [Moderate severity] 11 June 2015:
When processing an ECParameters structure OpenSSL enters an infinite loop if the curve specified is over a specially malformed binary polynomial field. This can be used to perform denial of service against any system which processes public keys, certificate requests or certificates. This includes TLS clients and TLS servers with client authentication enabled.
Found by Joseph Birr-Pixton.
  • Fixed in OpenSSL 0.9.8s (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.2b, OpenSSL 1.0.1n, OpenSSL 1.0.0e
CVE-2014-8176 (OpenSSL Advisory) [Moderate severity] 11 June 2015:
This vulnerability does not affect current versions of OpenSSL. It existed in previous OpenSSL versions and was fixed in June 2014. If a DTLS peer receives application data between the ChangeCipherSpec and Finished messages, buffering of such data may cause an invalid free, resulting in a segmentation fault or potentially, memory corruption.
Found by Praveen Kariyanahalli, and subsequently by Ivan Fratric and Felix Groebert (Google).
  • Fixed in OpenSSL 0.9.8za (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1h, OpenSSL 1.0.0m
CVE-2015-1791 (OpenSSL Advisory) [Low severity] 02 June 2015:
If a NewSessionTicket is received by a multi-threaded client when attempting to reuse a previous ticket then a race condition can occur potentially leading to a double free of the ticket data.
Found by Emilia Käsper (OpenSSL).
  • Fixed in OpenSSL 0.9.8zg (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.2b, OpenSSL 1.0.1n, OpenSSL 1.0.0s
CVE-2015-0293 (OpenSSL Advisory) [Moderate severity] 19 March 2015:
DoS via reachable assert in SSLv2 servers. A malicious client can trigger an OPENSSL_assert in servers that both support SSLv2 and enable export cipher suites by sending a specially crafted SSLv2 CLIENT-MASTER-KEY message.
Found by Sean Burford (Google) and Emilia Käsper (OpenSSL development team).
  • Fixed in OpenSSL 0.9.8zf (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.2a, OpenSSL 1.0.1m, OpenSSL 1.0.0r
CVE-2015-0292 (OpenSSL Advisory) [Moderate severity] 19 March 2015:
A vulnerability existed in previous versions of OpenSSL related to the processing of base64 encoded data. Any code path that reads base64 data from an untrusted source could be affected (such as the PEM processing routines). Maliciously crafted base 64 data could trigger a segmenation fault or memory corruption.
Found by Robert Dugal, also David Ramos, also Huzaifa Sidhpurwala (Red Hat).
  • Fixed in OpenSSL 0.9.8za (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1h, OpenSSL 1.0.0m
CVE-2015-0289 (OpenSSL Advisory) [Moderate severity] 19 March 2015:
PKCS#7 NULL pointer dereference. The PKCS#7 parsing code does not handle missing outer ContentInfo correctly. An attacker can craft malformed ASN.1-encoded PKCS#7 blobs with missing content and trigger a NULL pointer dereference on parsing. Applications that verify PKCS#7 signatures, decrypt PKCS#7 data or otherwise parse PKCS#7 structures from untrusted sources are affected. OpenSSL clients and servers are not affected.
Found by Michal Zalewski (Google).
  • Fixed in OpenSSL 0.9.8zf (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.2a, OpenSSL 1.0.1m, OpenSSL 1.0.0r
CVE-2015-0287 (OpenSSL Advisory) [Moderate severity] 19 March 2015:
ASN.1 structure reuse memory corruption. Reusing a structure in ASN.1 parsing may allow an attacker to cause memory corruption via an invalid write. Such reuse is and has been strongly discouraged and is believed to be rare.
Found by Emilia Käsper (OpenSSL development team).
  • Fixed in OpenSSL 0.9.8zf (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.2a, OpenSSL 1.0.1m, OpenSSL 1.0.0r
CVE-2015-0286 (OpenSSL Advisory) [Moderate severity] 19 March 2015:
Segmentation fault in ASN1_TYPE_cmp. The function ASN1_TYPE_cmp will crash with an invalid read if an attempt is made to compare ASN.1 boolean types. Since ASN1_TYPE_cmp is used to check certificate signature algorithm consistency this can be used to crash any certificate verification operation and exploited in a DoS attack. Any application which performs certificate verification is vulnerable including OpenSSL clients and servers which enable client authentication.
Found by Stephen Henson (OpenSSL development team).
  • Fixed in OpenSSL 0.9.8zf (Affected since 0.9.8zd)
  • This issue was also addressed in OpenSSL 1.0.2a, OpenSSL 1.0.1m, OpenSSL 1.0.0r
CVE-2015-0209 (OpenSSL Advisory) [Low severity] 19 March 2015:
Use After Free following d2i_ECPrivatekey error. A malformed EC private key file consumed via the d2i_ECPrivateKey function could cause a use after free condition. This, in turn, could cause a double free in several private key parsing functions (such as d2i_PrivateKey or EVP_PKCS82PKEY) and could lead to a DoS attack or memory corruption for applications that receive EC private keys from untrusted sources. This scenario is considered rare.
Found by The BoringSSL project.
  • Fixed in OpenSSL 0.9.8zf (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.2a, OpenSSL 1.0.1m, OpenSSL 1.0.0r
CVE-2015-0288 (OpenSSL Advisory) [Low severity] 02 March 2015:
X509_to_X509_REQ NULL pointer deref. The function X509_to_X509_REQ will crash with a NULL pointer dereference if the certificate key is invalid. This function is rarely used in practice.
Found by Brian Carpenter.
  • Fixed in OpenSSL 0.9.8zf (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.2a, OpenSSL 1.0.1m, OpenSSL 1.0.0r
CVE-2014-3570 (OpenSSL Advisory) [Low severity] 08 January 2015:
Bignum squaring (BN_sqr) may produce incorrect results on some platforms, including x86_64. This bug occurs at random with a very low probability, and is not known to be exploitable in any way, though its exact impact is difficult to determine. The following has been determined: *) The probability of BN_sqr producing an incorrect result at random is very low: 1/2^64 on the single affected 32-bit platform (MIPS) and 1/2^128 on affected 64-bit platforms. *) On most platforms, RSA follows a different code path and RSA operations are not affected at all. For the remaining platforms (e.g. OpenSSL built without assembly support), pre-existing countermeasures thwart bug attacks [1]. *) Static ECDH is theoretically affected: it is possible to construct elliptic curve points that would falsely appear to be on the given curve. However, there is no known computationally feasible way to construct such points with low order, and so the security of static ECDH private keys is believed to be unaffected. *) Other routines known to be theoretically affected are modular exponentiation, primality testing, DSA, RSA blinding, JPAKE and SRP. No exploits are known and straightforward bug attacks fail - either the attacker cannot control when the bug triggers, or no private key material is involved.
Found by Pieter Wuille (Blockstream).
  • Fixed in OpenSSL 0.9.8zd (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1k, OpenSSL 1.0.0p
CVE-2015-0204 (OpenSSL Advisory) [Low severity] 06 January 2015:
An OpenSSL client will accept the use of an RSA temporary key in a non-export RSA key exchange ciphersuite. A server could present a weak temporary key and downgrade the security of the session.
Found by Karthikeyan Bhargavan of the PROSECCO team at INRIA.
  • Fixed in OpenSSL 0.9.8zd (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1k, OpenSSL 1.0.0p
CVE-2014-8275 (OpenSSL Advisory) [Low severity] 05 January 2015:
OpenSSL accepts several non-DER-variations of certificate signature algorithm and signature encodings. OpenSSL also does not enforce a match between the signature algorithm between the signed and unsigned portions of the certificate. By modifying the contents of the signature algorithm or the encoding of the signature, it is possible to change the certificate's fingerprint. This does not allow an attacker to forge certificates, and does not affect certificate verification or OpenSSL servers/clients in any other way. It also does not affect common revocation mechanisms. Only custom applications that rely on the uniqueness of the fingerprint (e.g. certificate blacklists) may be affected.
Found by Antti Karjalainen and Tuomo Untinen from the Codenomicon CROSS program/Konrad Kraszewski from Google.
  • Fixed in OpenSSL 0.9.8zd (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1k, OpenSSL 1.0.0p
CVE-2014-3572 (OpenSSL Advisory) [Low severity] 05 January 2015:
An OpenSSL client will accept a handshake using an ephemeral ECDH ciphersuite using an ECDSA certificate if the server key exchange message is omitted. This effectively removes forward secrecy from the ciphersuite.
Found by Karthikeyan Bhargavan of the PROSECCO team at INRIA.
  • Fixed in OpenSSL 0.9.8zd (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1k, OpenSSL 1.0.0p
CVE-2014-3571 (OpenSSL Advisory) [Moderate severity] 05 January 2015:
A carefully crafted DTLS message can cause a segmentation fault in OpenSSL due to a NULL pointer dereference. This could lead to a Denial Of Service attack.
Found by Markus Stenberg of Cisco Systems, Inc.
  • Fixed in OpenSSL 0.9.8zd (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1k, OpenSSL 1.0.0p

2014

CVE-2014-3569 (OpenSSL Advisory) [Low severity] 21 October 2014:
When openssl is built with the no-ssl3 option and a SSL v3 ClientHello is received the ssl method would be set to NULL which could later result in a NULL pointer dereference.
Found by Frank Schmirler.
  • Fixed in OpenSSL 0.9.8zd (Affected since 0.9.8zc)
  • This issue was also addressed in OpenSSL 1.0.1k, OpenSSL 1.0.0p
CVE-2014-3568 (OpenSSL Advisory) [Low severity] 15 October 2014:
When OpenSSL is configured with "no-ssl3" as a build option, servers could accept and complete a SSL 3.0 handshake, and clients could be configured to send them.
Found by Akamai Technologies.
  • Fixed in OpenSSL 0.9.8zc (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1j, OpenSSL 1.0.0o
CVE-2014-3567 (OpenSSL Advisory) [Moderate severity] 15 October 2014:
When an OpenSSL SSL/TLS/DTLS server receives a session ticket the integrity of that ticket is first verified. In the event of a session ticket integrity check failing, OpenSSL will fail to free memory causing a memory leak. By sending a large number of invalid session tickets an attacker could exploit this issue in a Denial Of Service attack.
  • Fixed in OpenSSL 0.9.8zc (Affected since 0.9.8g)
  • This issue was also addressed in OpenSSL 1.0.1j, OpenSSL 1.0.0o
CVE-2014-3510 (OpenSSL Advisory) 06 August 2014:
A flaw in handling DTLS anonymous EC(DH) ciphersuites was found. OpenSSL DTLS clients enabling anonymous (EC)DH ciphersuites are subject to a denial of service attack. A malicious server can crash the client with a null pointer dereference (read) by specifying an anonymous (EC)DH ciphersuite and sending carefully crafted handshake messages.
Found by Felix Gröbert (Google).
  • Fixed in OpenSSL 0.9.8zb (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1i, OpenSSL 1.0.0n
CVE-2014-3508 (OpenSSL Advisory) 06 August 2014:
A flaw in OBJ_obj2txt may cause pretty printing functions such as X509_name_oneline, X509_name_print_ex, to leak some information from the stack. Applications may be affected if they echo pretty printing output to the attacker. OpenSSL SSL/TLS clients and servers themselves are not affected.
Found by Ivan Fratric (Google).
  • Fixed in OpenSSL 0.9.8zb (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1i, OpenSSL 1.0.0n
CVE-2014-3507 (OpenSSL Advisory) 06 August 2014:
A DTLS memory leak from zero-length fragments was found. By sending carefully crafted DTLS packets an attacker could cause OpenSSL to leak memory. This could lead to a Denial of Service attack.
Found by Adam Langley (Google).
  • Fixed in OpenSSL 0.9.8zb (Affected since 0.9.8o)
  • This issue was also addressed in OpenSSL 1.0.1i, OpenSSL 1.0.0n
CVE-2014-3506 (OpenSSL Advisory) 06 August 2014:
A DTLS flaw leading to memory exhaustion was found. An attacker can force openssl to consume large amounts of memory whilst processing DTLS handshake messages. This could lead to a Denial of Service attack.
Found by Adam Langley (Google).
  • Fixed in OpenSSL 0.9.8zb (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1i, OpenSSL 1.0.0n
CVE-2014-3505 (OpenSSL Advisory) 06 August 2014:
A Double Free was found when processing DTLS packets. An attacker can force an error condition which causes openssl to crash whilst processing DTLS packets due to memory being freed twice. This could lead to a Denial of Service attack.
Found by Adam Langley and Wan-Teh Chang (Google).
  • Fixed in OpenSSL 0.9.8zb (Affected since 0.9.8m)
  • This issue was also addressed in OpenSSL 1.0.1i, OpenSSL 1.0.0n
CVE-2014-0224 (OpenSSL Advisory) 05 June 2014:
An attacker can force the use of weak keying material in OpenSSL SSL/TLS clients and servers. This can be exploited by a Man-in-the-middle (MITM) attack where the attacker can decrypt and modify traffic from the attacked client and server.
Found by KIKUCHI Masashi (Lepidum Co. Ltd.).
  • Fixed in OpenSSL 0.9.8za (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1h, OpenSSL 1.0.0m
CVE-2014-0221 (OpenSSL Advisory) 05 June 2014:
By sending an invalid DTLS handshake to an OpenSSL DTLS client the code can be made to recurse eventually crashing in a DoS attack. Only applications using OpenSSL as a DTLS client are affected.
Found by Imre Rad (Search-Lab Ltd.).
  • Fixed in OpenSSL 0.9.8za (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1h, OpenSSL 1.0.0m
CVE-2014-0195 (OpenSSL Advisory) 05 June 2014:
A buffer overrun attack can be triggered by sending invalid DTLS fragments to an OpenSSL DTLS client or server. This is potentially exploitable to run arbitrary code on a vulnerable client or server. Only applications using OpenSSL as a DTLS client or server affected.
Found by Jüri Aedla.
  • Fixed in OpenSSL 0.9.8za (Affected since 0.9.8o)
  • This issue was also addressed in OpenSSL 1.0.1h, OpenSSL 1.0.0m
CVE-2014-3470 (OpenSSL Advisory) 30 May 2014:
OpenSSL TLS clients enabling anonymous ECDH ciphersuites are subject to a denial of service attack.
Found by Felix Gröbert and Ivan Fratrić (Google).
  • Fixed in OpenSSL 0.9.8za (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1h, OpenSSL 1.0.0m
CVE-2014-0076 (OpenSSL Advisory) 14 February 2014:
Fix for the attack described in the paper "Recovering OpenSSL ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack".
Found by Yuval Yarom and Naomi Benger.
  • Fixed in OpenSSL 0.9.8za (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1g, OpenSSL 1.0.0m

2013

CVE-2013-0166 (OpenSSL Advisory) 05 February 2013:
A flaw in the OpenSSL handling of OCSP response verification can be exploited in a denial of service attack.
Found by Stephen Henson.
  • Fixed in OpenSSL 0.9.8y (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1d, OpenSSL 1.0.0k
CVE-2013-0169 (OpenSSL Advisory) 04 February 2013:
A weakness in the handling of CBC ciphersuites in SSL, TLS and DTLS which could lead to plaintext recovery by exploiting timing differences arising during MAC processing.
Found by Nadhem J. AlFardan and Kenneth G. Paterson of the Information Security Group Royal Holloway, University of London.
  • Fixed in OpenSSL 0.9.8y (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1d, OpenSSL 1.0.0k

2012

CVE-2012-2333 (OpenSSL Advisory) 10 May 2012:
An integer underflow flaw, leading to a buffer over-read, was found in the way OpenSSL handled TLS 1.1, TLS 1.2, and DTLS (Datagram Transport Layer Security) application data record lengths when using a block cipher in CBC (cipher-block chaining) mode. A malicious TLS 1.1, TLS 1.2, or DTLS client or server could use this flaw to crash its connection peer.
Found by Codenomicon.
  • Fixed in OpenSSL 0.9.8x (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1c, OpenSSL 1.0.0j
CVE-2012-2131 (OpenSSL Advisory) 24 April 2012:
It was discovered that the fix for CVE-2012-2110 released on 19 Apr 2012 was not sufficient to correct the issue for OpenSSL 0.9.8. This issue only affects OpenSSL 0.9.8v. OpenSSL 1.0.1a and 1.0.0i already contain a patch sufficient to correct CVE-2012-2110.
Found by Red Hat.
  • Fixed in OpenSSL 0.9.8w (Affected since 0.9.8v)
CVE-2012-2110 (OpenSSL Advisory) 19 April 2012:
Multiple numeric conversion errors, leading to a buffer overflow, were found in the way OpenSSL parsed ASN.1 (Abstract Syntax Notation One) data from BIO (OpenSSL's I/O abstraction) inputs. Specially-crafted DER (Distinguished Encoding Rules) encoded data read from a file or other BIO input could cause an application using the OpenSSL library to crash or, potentially, execute arbitrary code.
Found by Tavis Ormandy.
  • Fixed in OpenSSL 0.9.8v (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.1a, OpenSSL 1.0.0i
CVE-2012-0884 (OpenSSL Advisory) 12 March 2012:
A weakness in the OpenSSL CMS and PKCS #7 code can be exploited using Bleichenbacher's attack on PKCS #1 v1.5 RSA padding also known as the million message attack (MMA). Only users of CMS, PKCS #7, or S/MIME decryption operations are affected, SSL/TLS applications are not affected by this issue.
Found by Ivan Nestlerode.
  • Fixed in OpenSSL 0.9.8u (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.0h
CVE-2012-0050 (OpenSSL Advisory) 04 January 2012:
A flaw in the fix to CVE-2011-4108 can be exploited in a denial of service attack. Only DTLS applications are affected.
Found by Antonio Martin.
  • Fixed in OpenSSL 0.9.8t (Affected since 0.9.8s)
  • This issue was also addressed in OpenSSL 1.0.0g
CVE-2011-4619 (OpenSSL Advisory) 04 January 2012:
Support for handshake restarts for server gated cryptograpy (SGC) can be used in a denial-of-service attack.
Found by George Kadianakis.
  • Fixed in OpenSSL 0.9.8s (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.0f
CVE-2011-4577 (OpenSSL Advisory) 04 January 2012:
RFC 3779 data can be included in certificates, and if it is malformed, may trigger an assertion failure. This could be used in a denial-of-service attack. Builds of OpenSSL are only vulnerable if configured with "enable-rfc3779", which is not a default.
Found by Andrew Chi.
  • Fixed in OpenSSL 0.9.8s (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.0f
CVE-2011-4576 (OpenSSL Advisory) 04 January 2012:
OpenSSL failed to clear the bytes used as block cipher padding in SSL 3.0 records which could leak the contents of memory in some circumstances.
Found by Adam Langley.
  • Fixed in OpenSSL 0.9.8s (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.0f
CVE-2011-4109 (OpenSSL Advisory) 04 January 2012:
If X509_V_FLAG_POLICY_CHECK is set in OpenSSL 0.9.8, then a policy check failure can lead to a double-free. The bug does not occur unless this flag is set. Users of OpenSSL 1.0.0 are not affected.
Found by Ben Laurie.
  • Fixed in OpenSSL 0.9.8s (Affected since 0.9.8)
CVE-2011-4108 (OpenSSL Advisory) 04 January 2012:
OpenSSL was susceptable an extension of the Vaudenay padding oracle attack on CBC mode encryption which enables an efficient plaintext recovery attack against the OpenSSL implementation of DTLS by exploiting timing differences arising during decryption processing.
Found by Nadhem Alfardan and Kenny Paterson.
  • Fixed in OpenSSL 0.9.8s (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.0f

2011

CVE-2011-0014 (OpenSSL Advisory) 08 February 2011:
A buffer over-read flaw was discovered in the way OpenSSL parsed the Certificate Status Request TLS extensions in ClientHello TLS handshake messages. A remote attacker could possibly use this flaw to crash an SSL server using the affected OpenSSL functionality.
Found by Neel Mehta.
  • Fixed in OpenSSL 0.9.8r (Affected since 0.9.8h)
  • This issue was also addressed in OpenSSL 1.0.0d

2010

CVE-2010-4180 (OpenSSL Advisory) 02 December 2010:
A flaw in the OpenSSL SSL/TLS server code where an old bug workaround allows malicious clients to modify the stored session cache ciphersuite. In some cases the ciphersuite can be downgraded to a weaker one on subsequent connections. This issue only affects OpenSSL based SSL/TLS server if it uses OpenSSL's internal caching mechanisms and the SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG flag (many applications enable this by using the SSL_OP_ALL option).
Found by Martin Rex.
  • Fixed in OpenSSL 0.9.8q (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.0c
CVE-2010-3864 (OpenSSL Advisory) 16 November 2010:
A flaw in the OpenSSL TLS server extension code parsing which on affected servers can be exploited in a buffer overrun attack. Any OpenSSL based TLS server is vulnerable if it is multi-threaded and uses OpenSSL's internal caching mechanism. Servers that are multi-process and/or disable internal session caching are NOT affected.
Found by Rob Hulswit.
  • Fixed in OpenSSL 0.9.8p (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 1.0.0b
CVE-2010-0742 (OpenSSL Advisory) 01 June 2010:
A flaw in the handling of CMS structures containing OriginatorInfo was found which could lead to a write to invalid memory address or double free. CMS support is disabled by default in OpenSSL 0.9.8 versions.
Found by Ronald Moesbergen.
  • Fixed in OpenSSL 0.9.8o (Affected since 0.9.8h)
  • This issue was also addressed in OpenSSL 1.0.0a
CVE-2010-0740 (OpenSSL Advisory) 24 March 2010:
In TLS connections, certain incorrectly formatted records can cause an OpenSSL client or server to crash due to a read attempt at NULL.
Found by Bodo Moeller and Adam Langley (Google).
  • Fixed in OpenSSL 0.9.8n (Affected since 0.9.8f)
CVE-2009-3245 23 February 2010:
It was discovered that OpenSSL did not always check the return value of the bn_wexpand() function. An attacker able to trigger a memory allocation failure in that function could cause an application using the OpenSSL library to crash or, possibly, execute arbitrary code.
Found by Martin Olsson, Neel Mehta.
CVE-2010-0433 19 January 2010:
A missing return value check flaw was discovered in OpenSSL, that could possibly cause OpenSSL to call a Kerberos library function with invalid arguments, resulting in a NULL pointer dereference crash in the MIT Kerberos library. In certain configurations, a remote attacker could use this flaw to crash a TLS/SSL server using OpenSSL by requesting Kerberos cipher suites during the TLS handshake.
Found by Todd Rinaldo, Tomas Hoger (Red Hat).
CVE-2009-4355 13 January 2010:
A memory leak in the zlib_stateful_finish function in crypto/comp/c_zlib.c allows remote attackers to cause a denial of service via vectors that trigger incorrect calls to the CRYPTO_cleanup_all_ex_data function.
Found by Michael K Johnson and Andy Grimm (rPath).

2009

CVE-2009-3555 (OpenSSL Advisory) 05 November 2009:
Implement RFC5746 to address vulnerabilities in SSL/TLS renegotiation.
  • Fixed in OpenSSL 0.9.8m (Affected since 0.9.8)
CVE-2009-1386 02 June 2009:
Fix a NULL pointer dereference if a DTLS server recieved ChangeCipherSpec as first record. A remote attacker could use this flaw to cause a DTLS server to crash.
Found by Alex Lam.
CVE-2009-1379 (OpenSSL Advisory) 12 May 2009:
Use-after-free vulnerability in the dtls1_retrieve_buffered_fragment function could cause a client accessing a malicious DTLS server to crash.
Found by Daniel Mentz, Robin Seggelmann.
CVE-2009-1378 (OpenSSL Advisory) 12 May 2009:
Fix a denial of service flaw in the DTLS implementation. In dtls1_process_out_of_seq_message() the check if the current message is already buffered was missing. For every new message was memory allocated, allowing an attacker to perform an denial of service attack against a DTLS server by sending out of seq handshake messages until there is no memory left.
Found by Daniel Mentz, Robin Seggelmann.
CVE-2009-1377 (OpenSSL Advisory) 12 May 2009:
Fix a denial of service flaw in the DTLS implementation. Records are buffered if they arrive with a future epoch to be processed after finishing the corresponding handshake. There is currently no limitation to this buffer allowing an attacker to perform a DOS attack to a DTLS server by sending records with future epochs until there is no memory left.
Found by Daniel Mentz, Robin Seggelmann.
CVE-2009-0789 (OpenSSL Advisory) 25 March 2009:
When a malformed ASN1 structure is received it's contents are freed up and zeroed and an error condition returned. On a small number of platforms where sizeof(long) < sizeof(void *) (for example WIN64) this can cause an invalid memory access later resulting in a crash when some invalid structures are read, for example RSA public keys.
Found by Paolo Ganci.
  • Fixed in OpenSSL 0.9.8k (Affected since 0.9.8)
CVE-2009-0591 (OpenSSL Advisory) 25 March 2009:
The function CMS_verify() does not correctly handle an error condition involving malformed signed attributes. This will cause an invalid set of signed attributes to appear valid and content digests will not be checked.
Found by Ivan Nestlerode, IBM.
  • Fixed in OpenSSL 0.9.8k (Affected since 0.9.8h)
CVE-2009-0590 (OpenSSL Advisory) 25 March 2009:
The function ASN1_STRING_print_ex() when used to print a BMPString or UniversalString will crash with an invalid memory access if the encoded length of the string is illegal. Any OpenSSL application which prints out the contents of a certificate could be affected by this bug, including SSL servers, clients and S/MIME software.
  • Fixed in OpenSSL 0.9.8k (Affected since 0.9.8)
CVE-2009-1387 (OpenSSL Advisory) 05 February 2009:
Fix denial of service flaw due in the DTLS implementation. A remote attacker could use this flaw to cause a DTLS server to crash.
Found by Robin Seggelmann.
  • Fixed in OpenSSL 0.9.8m (Affected since 0.9.8)
CVE-2008-5077 (OpenSSL Advisory) 07 January 2009:
The Google Security Team discovered several functions inside OpenSSL incorrectly checked the result after calling the EVP_VerifyFinal function, allowing a malformed signature to be treated as a good signature rather than as an error. This issue affected the signature checks on DSA and ECDSA keys used with SSL/TLS. One way to exploit this flaw would be for a remote attacker who is in control of a malicious server or who can use a 'man in the middle' attack to present a malformed SSL/TLS signature from a certificate chain to a vulnerable client, bypassing validation.
Found by google.
  • Fixed in OpenSSL 0.9.8j (Affected since 0.9.8)

2008

CVE-2008-1672 (OpenSSL Advisory) 28 May 2008:
Testing using the Codenomicon TLS test suite discovered a flaw if the 'Server Key exchange message' is omitted from a TLS handshake in OpenSSL 0.9.8f and OpenSSL 0.9.8g. If a client connects to a malicious server with particular cipher suites, the server could cause the client to crash.
Found by codenomicon.
  • Fixed in OpenSSL 0.9.8h (Affected since 0.9.8f)
CVE-2008-0891 (OpenSSL Advisory) 28 May 2008:
Testing using the Codenomicon TLS test suite discovered a flaw in the handling of server name extension data in OpenSSL 0.9.8f and OpenSSL 0.9.8g. If OpenSSL has been compiled using the non-default TLS server name extensions, a remote attacker could send a carefully crafted packet to a server application using OpenSSL and cause it to crash.
Found by codenomicon.
  • Fixed in OpenSSL 0.9.8h (Affected since 0.9.8f)

2007

CVE-2007-5135 (OpenSSL Advisory) 12 October 2007:
A flaw was found in the SSL_get_shared_ciphers() utility function. An attacker could send a list of ciphers to an application that used this function and overrun a buffer with a single byte. Few applications make use of this vulnerable function and generally it is used only when applications are compiled for debugging.
Found by Moritz Jodeit.
  • Fixed in OpenSSL 0.9.8f (Affected since 0.9.8)
CVE-2007-4995 (OpenSSL Advisory) 12 October 2007:
A flaw in DTLS support. An attacker could create a malicious client or server that could trigger a heap overflow. This is possibly exploitable to run arbitrary code, but it has not been verified.
Found by Andy Polyakov.
  • Fixed in OpenSSL 0.9.8f (Affected since 0.9.8)

2006

CVE-2006-4343 (OpenSSL Advisory) 28 September 2006:
A flaw in the SSLv2 client code was discovered. When a client application used OpenSSL to create an SSLv2 connection to a malicious server, that server could cause the client to crash.
Found by openssl.
  • Fixed in OpenSSL 0.9.8d (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 0.9.7l
CVE-2006-3738 (OpenSSL Advisory) 28 September 2006:
A buffer overflow was discovered in the SSL_get_shared_ciphers() utility function. An attacker could send a list of ciphers to an application that uses this function and overrun a buffer.
Found by openssl.
  • Fixed in OpenSSL 0.9.8d (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 0.9.7l
CVE-2006-2940 (OpenSSL Advisory) 28 September 2006:
Certain types of public key can take disproportionate amounts of time to process. This could be used by an attacker in a denial of service attack.
Found by openssl.
  • Fixed in OpenSSL 0.9.8d (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 0.9.7l
CVE-2006-2937 (OpenSSL Advisory) 28 September 2006:
During the parsing of certain invalid ASN.1 structures an error condition is mishandled. This can result in an infinite loop which consumes system memory.
Found by openssl.
  • Fixed in OpenSSL 0.9.8d (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 0.9.7l
CVE-2006-4339 (OpenSSL Advisory) 05 September 2006:
Daniel Bleichenbacher discovered an attack on PKCS #1 v1.5 signatures where under certain circumstances it may be possible for an attacker to forge a PKCS #1 v1.5 signature that would be incorrectly verified by OpenSSL.
Found by openssl.
  • Fixed in OpenSSL 0.9.8c (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 0.9.7k

2005

CVE-2005-2969 (OpenSSL Advisory) 11 October 2005:
A deprecated option, SSL_OP_MISE_SSLV2_RSA_PADDING, could allow an attacker acting as a "man in the middle" to force a connection to downgrade to SSL 2.0 even if both parties support better protocols.
Found by researcher.
  • Fixed in OpenSSL 0.9.8a (Affected since 0.9.8)
  • This issue was also addressed in OpenSSL 0.9.7h

Not Vulnerabilities

  • CVE-2010-0928: This was not treated as a security issue as it is outside of the OpenSSL threat model.