diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2015-11-13 14:37:24 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2015-11-14 00:06:32 +0000 |
commit | 2b573382f8e54aa03a1d8ffd48fa9d0a04609184 (patch) | |
tree | e509f3bb087dbdbf11ab5ef2e5d134e82e68387a /ssl/s3_lib.c | |
parent | 5e3d21fef150f020e2d33439401da8f7e311aa24 (diff) |
Don't alow TLS v1.0 ciphersuites for SSLv3
This disables some ciphersuites which aren't supported in SSL v3:
specifically PSK ciphersuites which use SHA256 or SHA384 for the MAC.
Thanks to the Open Crypto Audit Project for identifying this issue.
Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'ssl/s3_lib.c')
-rw-r--r-- | ssl/s3_lib.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index 13bf3187d5..95cc56a413 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -4841,6 +4841,9 @@ SSL_CIPHER *ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER) *clnt, /* Skip TLS v1.2 only ciphersuites if not supported */ if ((c->algorithm_ssl & SSL_TLSV1_2) && !SSL_USE_TLS1_2_CIPHERS(s)) continue; + /* Skip TLS v1.0 ciphersuites if SSLv3 */ + if ((c->algorithm_ssl & SSL_TLSV1) && s->version == SSL3_VERSION) + continue; ssl_set_masks(s, c); mask_k = s->s3->tmp.mask_k; |