diff options
author | jasper <> | 2010-12-15 09:42:29 +0000 |
---|---|---|
committer | jasper <> | 2010-12-15 09:42:29 +0000 |
commit | 2bc6547e9d767adbb1235c01feedc6de29891672 (patch) | |
tree | 672e8843411e32cff72a805ee8788b2b70c33693 /src/lib/libssl/s3_srvr.c | |
parent | 599896ad39d588050b6fe1e7460764e63c9edbce (diff) | |
download | openbsd-2bc6547e9d767adbb1235c01feedc6de29891672.tar.gz openbsd-2bc6547e9d767adbb1235c01feedc6de29891672.tar.bz2 openbsd-2bc6547e9d767adbb1235c01feedc6de29891672.zip |
Security fix for CVE-2010-4180 as mentioned in http://www.openssl.org/news/secadv_20101202.txt.
where clients could modify the stored session
cache ciphersuite and in some cases even downgrade the suite to weaker ones.
This code is not enabled by default.
ok djm@
Diffstat (limited to 'src/lib/libssl/s3_srvr.c')
-rw-r--r-- | src/lib/libssl/s3_srvr.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/libssl/s3_srvr.c b/src/lib/libssl/s3_srvr.c index 92f73b6681..61ee0a3e42 100644 --- a/src/lib/libssl/s3_srvr.c +++ b/src/lib/libssl/s3_srvr.c | |||
@@ -985,6 +985,10 @@ int ssl3_get_client_hello(SSL *s) | |||
985 | break; | 985 | break; |
986 | } | 986 | } |
987 | } | 987 | } |
988 | /* Disabled because it can be used in a ciphersuite downgrade | ||
989 | * attack: CVE-2010-4180. | ||
990 | */ | ||
991 | #if 0 | ||
988 | if (j == 0 && (s->options & SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG) && (sk_SSL_CIPHER_num(ciphers) == 1)) | 992 | if (j == 0 && (s->options & SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG) && (sk_SSL_CIPHER_num(ciphers) == 1)) |
989 | { | 993 | { |
990 | /* Special case as client bug workaround: the previously used cipher may | 994 | /* Special case as client bug workaround: the previously used cipher may |
@@ -999,6 +1003,7 @@ int ssl3_get_client_hello(SSL *s) | |||
999 | j = 1; | 1003 | j = 1; |
1000 | } | 1004 | } |
1001 | } | 1005 | } |
1006 | #endif | ||
1002 | if (j == 0) | 1007 | if (j == 0) |
1003 | { | 1008 | { |
1004 | /* we need to have the cipher in the cipher | 1009 | /* we need to have the cipher in the cipher |