summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSona Sarmadi <sona.sarmadi@enea.com>2015-03-04 09:46:10 +0100
committerTudor Florea <tudor.florea@enea.com>2015-07-06 20:19:38 +0200
commit72bec03e72908b002355a3dba39c9b9caec2b473 (patch)
treeb2bb492ca2ad8432d40f412409ef8658dc087243
parent4ec7570ee9c2226cfa0341c7e0b35362b7b68278 (diff)
downloadpoky-72bec03e72908b002355a3dba39c9b9caec2b473.tar.gz
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 <sona.sarmadi@enea.com>
-rw-r--r--meta/recipes-devtools/python/python/python2.7.3-nossl3.patch37
-rw-r--r--meta/recipes-devtools/python/python_2.7.3.bb1
2 files changed, 38 insertions, 0 deletions
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 @@
1python: Building without SSLv3 support
2
3Building without SSLv3 support when openssl is built
4without any support for SSLv3
5
6Upstream-Status: Backport
7
8Reference:
9https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=76A8611#22
10
11Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
12---
13diff -ruN a/Modules/_ssl.c b/Modules/_ssl.c
14--- a/Modules/_ssl.c 2014-11-26 07:43:58.755679939 +0100
15+++ b/Modules/_ssl.c 2014-11-26 07:49:10.454182400 +0100
16@@ -302,8 +302,10 @@
17 PySSL_BEGIN_ALLOW_THREADS
18 if (proto_version == PY_SSL_VERSION_TLS1)
19 self->ctx = SSL_CTX_new(TLSv1_method()); /* Set up context */
20+#ifndef OPENSSL_NO_SSL3
21 else if (proto_version == PY_SSL_VERSION_SSL3)
22 self->ctx = SSL_CTX_new(SSLv3_method()); /* Set up context */
23+#endif
24 #ifndef OPENSSL_NO_SSL2
25 else if (proto_version == PY_SSL_VERSION_SSL2)
26 self->ctx = SSL_CTX_new(SSLv2_method()); /* Set up context */
27@@ -1777,8 +1779,10 @@
28 PyModule_AddIntConstant(m, "PROTOCOL_SSLv2",
29 PY_SSL_VERSION_SSL2);
30 #endif
31+#ifndef OPENSSL_NO_SSL3
32 PyModule_AddIntConstant(m, "PROTOCOL_SSLv3",
33 PY_SSL_VERSION_SSL3);
34+#endif
35 PyModule_AddIntConstant(m, "PROTOCOL_SSLv23",
36 PY_SSL_VERSION_SSL23);
37 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 bbe16eb5d2..28ea2347e3 100644
--- a/meta/recipes-devtools/python/python_2.7.3.bb
+++ b/meta/recipes-devtools/python/python_2.7.3.bb
@@ -37,6 +37,7 @@ SRC_URI += "\
37 file://python-fix-build-error-with-Readline-6.3.patch \ 37 file://python-fix-build-error-with-Readline-6.3.patch \
38 file://python-2.7.3-CVE-2014-1912.patch \ 38 file://python-2.7.3-CVE-2014-1912.patch \
39 file://json-flaw-CVE-2014-4616.patch \ 39 file://json-flaw-CVE-2014-4616.patch \
40 file://python2.7.3-nossl3.patch \
40" 41"
41 42
42S = "${WORKDIR}/Python-${PV}" 43S = "${WORKDIR}/Python-${PV}"