summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-10-16 09:08:52 -0400
committerNick Mathewson <nickm@torproject.org>2014-10-16 09:08:52 -0400
commit22b9caf0ae42132bc8107d990b3ebb969394c90f (patch)
treeb1289116f40378bccfcbb29a3f5f819ab859629e
parentd315b8e8bc712f881fcc70624cb135a8e3855f63 (diff)
parent943fd4a252ad252d7d594622d5988634ddf8f1fc (diff)
downloadtor-22b9caf0ae42132bc8107d990b3ebb969394c90f.tar.gz
tor-22b9caf0ae42132bc8107d990b3ebb969394c90f.zip
Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5
-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 3ce42a63ac..999d97131c 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -1245,10 +1245,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);
/* Prefer the server's ordering of ciphers: the client's ordering has
* historically been chosen for fingerprinting resistance. */
@@ -1287,6 +1288,7 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime,
}
#endif
+ /* XXX This block is now obsolete. */
if (
#ifdef DISABLE_SSL3_HANDSHAKE
1 ||