From 926904f65db33aa7a6a54bd6cdc9c8b34f000b0d Mon Sep 17 00:00:00 2001 From: Sona Sarmadi Date: Fri, 16 Jan 2015 11:16:03 +0100 Subject: python: Disables SSLv3 This is related to "SSLv3 POODLE vulnerability" CVE-2014-3566 Building python without SSLv3 support when openssl is built without any support for SSLv3 (e.g. by adding EXTRA_OECONF = " -no-ssl3" in the openssl recipes). Backport from: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=768611#22 [python2.7-nossl3.patch] only Modules/_ssl.c is backported. References: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7015 https://bugzilla.yoctoproject.org/show_bug.cgi?id=6843 http://bugs.python.org/issue22638 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566 Signed-off-by: Sona Sarmadi Signed-off-by: Saul Wold --- .../python/python/python2.7.3-nossl3.patch | 37 ++++++++++++++++++++++ meta/recipes-devtools/python/python_2.7.3.bb | 1 + 2 files changed, 38 insertions(+) create mode 100644 meta/recipes-devtools/python/python/python2.7.3-nossl3.patch diff --git a/meta/recipes-devtools/python/python/python2.7.3-nossl3.patch b/meta/recipes-devtools/python/python/python2.7.3-nossl3.patch new file mode 100644 index 0000000000..2d35520a6d --- /dev/null +++ b/meta/recipes-devtools/python/python/python2.7.3-nossl3.patch @@ -0,0 +1,37 @@ +python: Building without SSLv3 support + +Building without SSLv3 support when openssl is built +without any support for SSLv3 + +Upstream-Status: Backport + +Reference: +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=76A8611#22 + +Signed-off-by: Sona Sarmadi +--- +diff -ruN a/Modules/_ssl.c b/Modules/_ssl.c +--- a/Modules/_ssl.c 2014-11-26 07:43:58.755679939 +0100 ++++ b/Modules/_ssl.c 2014-11-26 07:49:10.454182400 +0100 +@@ -302,8 +302,10 @@ + PySSL_BEGIN_ALLOW_THREADS + if (proto_version == PY_SSL_VERSION_TLS1) + self->ctx = SSL_CTX_new(TLSv1_method()); /* Set up context */ ++#ifndef OPENSSL_NO_SSL3 + else if (proto_version == PY_SSL_VERSION_SSL3) + self->ctx = SSL_CTX_new(SSLv3_method()); /* Set up context */ ++#endif + #ifndef OPENSSL_NO_SSL2 + else if (proto_version == PY_SSL_VERSION_SSL2) + self->ctx = SSL_CTX_new(SSLv2_method()); /* Set up context */ +@@ -1777,8 +1779,10 @@ + PyModule_AddIntConstant(m, "PROTOCOL_SSLv2", + PY_SSL_VERSION_SSL2); + #endif ++#ifndef OPENSSL_NO_SSL3 + PyModule_AddIntConstant(m, "PROTOCOL_SSLv3", + PY_SSL_VERSION_SSL3); ++#endif + PyModule_AddIntConstant(m, "PROTOCOL_SSLv23", + PY_SSL_VERSION_SSL23); + PyModule_AddIntConstant(m, "PROTOCOL_TLSv1", diff --git a/meta/recipes-devtools/python/python_2.7.3.bb b/meta/recipes-devtools/python/python_2.7.3.bb index 5270df9041..4d2594a942 100644 --- a/meta/recipes-devtools/python/python_2.7.3.bb +++ b/meta/recipes-devtools/python/python_2.7.3.bb @@ -36,6 +36,7 @@ SRC_URI += "\ file://python-2.7.3-CVE-2013-1752-smtplib-fix.patch \ file://python-fix-build-error-with-Readline-6.3.patch \ file://python-2.7.3-CVE-2014-1912.patch \ + file://python2.7.3-nossl3.patch \ " S = "${WORKDIR}/Python-${PV}" -- cgit 1.2.3-korg