aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-10-16 09:08:09 -0400
committerNick Mathewson <nickm@torproject.org>2014-10-16 09:08:09 -0400
commitc1c83eb376a7c89fadb01d1c7082d4aa4125333d (patch)
tree8c5357ad0e16ca6fb3f3f78c285627efd1c7b7dc
parent0eec8e2aa51f779e458fb3831b0ed8ae1db896ec (diff)
parentaf73d3e4d83ba7f404068008ad617e02b8a0a77b (diff)
downloadtor-c1c83eb376a7c89fadb01d1c7082d4aa4125333d.tar.gz
tor-c1c83eb376a7c89fadb01d1c7082d4aa4125333d.zip
Merge branch 'no_sslv3_023' into maint-0.2.3
-rw-r--r--changes/disable_sslv34
-rw-r--r--src/common/tortls.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/changes/disable_sslv3 b/changes/disable_sslv3
new file mode 100644
index 0000000000..bb4c2df7a2
--- /dev/null
+++ b/changes/disable_sslv3
@@ -0,0 +1,4 @@
+ o Major security fixes:
+ - Disable support for SSLv3. All versions of OpenSSL in use with
+ Tor today support TLS 1.0 or later, so we can safely turn off
+ support for this old (and insecure) protocol. Fixes bug 13426.
diff --git a/src/common/tortls.c b/src/common/tortls.c
index 60aac64929..11fe220e2d 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -1176,10 +1176,11 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime,
goto error;
#endif
- /* Tell OpenSSL to use SSL3 or TLS1 but not SSL2. */
+ /* Tell OpenSSL to use TLS 1.0 or later but not SSL2 or SSL3. */
if (!(result->ctx = SSL_CTX_new(SSLv23_method())))
goto error;
SSL_CTX_set_options(result->ctx, SSL_OP_NO_SSLv2);
+ SSL_CTX_set_options(result->ctx, SSL_OP_NO_SSLv3);
/* Disable TLS1.1 and TLS1.2 if they exist. We need to do this to
* workaround a bug present in all OpenSSL 1.0.1 versions (as of 1
@@ -1204,6 +1205,7 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime,
SSL_CTX_set_options(result->ctx, SSL_OP_NO_TICKET);
#endif
+ /* XXX This block is now obsolete. */
if (
#ifdef DISABLE_SSL3_HANDSHAKE
1 ||