diff options
author | tedu <> | 2015-03-19 14:00:22 +0000 |
---|---|---|
committer | tedu <> | 2015-03-19 14:00:22 +0000 |
commit | 325847dec91a0775a2c9806147ab783c0737cc84 (patch) | |
tree | e1849327a9d18d917e7698c775d31f7ae7c4e34f /src/lib/libssl/d1_lib.c | |
parent | 5018b21486fe3d91084c0d32a86d1240d832e25e (diff) | |
download | openbsd-325847dec91a0775a2c9806147ab783c0737cc84.tar.gz openbsd-325847dec91a0775a2c9806147ab783c0737cc84.tar.bz2 openbsd-325847dec91a0775a2c9806147ab783c0737cc84.zip |
Fix several crash causing defects from OpenSSL.
These include:
CVE-2015-0209 - Use After Free following d2i_ECPrivatekey error
CVE-2015-0286 - Segmentation fault in ASN1_TYPE_cmp
CVE-2015-0287 - ASN.1 structure reuse memory corruption
CVE-2015-0289 - PKCS7 NULL pointer dereferences
Several other issues did not apply or were already fixed.
Refer to https://www.openssl.org/news/secadv_20150319.txt
joint work with beck, doug, guenther, jsing, miod
Diffstat (limited to 'src/lib/libssl/d1_lib.c')
-rw-r--r-- | src/lib/libssl/d1_lib.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/libssl/d1_lib.c b/src/lib/libssl/d1_lib.c index 9d9a90d76a..dd789ccc70 100644 --- a/src/lib/libssl/d1_lib.c +++ b/src/lib/libssl/d1_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: d1_lib.c,v 1.27 2015/02/09 10:53:28 jsing Exp $ */ | 1 | /* $OpenBSD: d1_lib.c,v 1.28 2015/03/19 14:00:22 tedu Exp $ */ |
2 | /* | 2 | /* |
3 | * DTLS implementation written by Nagendra Modadugu | 3 | * DTLS implementation written by Nagendra Modadugu |
4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. |
@@ -443,6 +443,9 @@ dtls1_listen(SSL *s, struct sockaddr *client) | |||
443 | { | 443 | { |
444 | int ret; | 444 | int ret; |
445 | 445 | ||
446 | /* Ensure there is no state left over from a previous invocation */ | ||
447 | SSL_clear(s); | ||
448 | |||
446 | SSL_set_options(s, SSL_OP_COOKIE_EXCHANGE); | 449 | SSL_set_options(s, SSL_OP_COOKIE_EXCHANGE); |
447 | s->d1->listen = 1; | 450 | s->d1->listen = 1; |
448 | 451 | ||