summaryrefslogtreecommitdiff
path: root/src/lib/libssl/s3_srvr.c
diff options
context:
space:
mode:
authorjasper <>2010-12-15 09:42:29 +0000
committerjasper <>2010-12-15 09:42:29 +0000
commit2bc6547e9d767adbb1235c01feedc6de29891672 (patch)
tree672e8843411e32cff72a805ee8788b2b70c33693 /src/lib/libssl/s3_srvr.c
parent599896ad39d588050b6fe1e7460764e63c9edbce (diff)
downloadopenbsd-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.c5
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