]> code.ossystems Code Review - openembedded-core.git/commitdiff
python-2.7: Security fix CVE-2016-5636
authorArmin Kuster <akuster@mvista.com>
Sun, 6 Nov 2016 18:36:07 +0000 (10:36 -0800)
committerRobert Yang <liezhi.yang@windriver.com>
Tue, 6 Dec 2016 13:19:39 +0000 (05:19 -0800)
Affects python-2.7 < 2.7.12

Signed-off-by: Armin Kuster <akuster@mvista.com>
meta/recipes-devtools/python/python/CVE-2016-5636.patch [new file with mode: 0644]
meta/recipes-devtools/python/python_2.7.9.bb

diff --git a/meta/recipes-devtools/python/python/CVE-2016-5636.patch b/meta/recipes-devtools/python/python/CVE-2016-5636.patch
new file mode 100644 (file)
index 0000000..5906153
--- /dev/null
@@ -0,0 +1,42 @@
+
+# HG changeset patch
+# User Benjamin Peterson <benjamin@python.org>
+# Date 1453357424 28800
+# Node ID 985fc64c60d6adffd1138b6cc46df388ca91ca5d
+# Parent  7ec954b9fc54448a35b56d271340ba109eb381b9
+prevent buffer overflow in get_data (closes #26171)
+
+Upstream-Status: Backport
+CVE: CVE-2016-5636
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+Index: Python-2.7.9/Misc/NEWS
+===================================================================
+--- Python-2.7.9.orig/Misc/NEWS
++++ Python-2.7.9/Misc/NEWS
+@@ -7,6 +7,9 @@ What's New in Python 2.7.9?
+ *Release date: 2014-12-10*
++- Issue #26171: Fix possible integer overflow and heap corruption in
++  zipimporter.get_data().
++
+ Library
+ -------
+Index: Python-2.7.9/Modules/zipimport.c
+===================================================================
+--- Python-2.7.9.orig/Modules/zipimport.c
++++ Python-2.7.9/Modules/zipimport.c
+@@ -895,6 +895,11 @@ get_data(char *archive, PyObject *toc_en
+         PyMarshal_ReadShortFromFile(fp);        /* local header size */
+     file_offset += l;           /* Start of file data */
++    if (data_size > LONG_MAX - 1) {
++        fclose(fp);
++        PyErr_NoMemory();
++        return NULL;
++    }
+     raw_data = PyString_FromStringAndSize((char *)NULL, compress == 0 ?
+                                           data_size : data_size + 1);
+     if (raw_data == NULL) {
index 53ec99181f82e41a834ca36de7f07703fa8de115..3b3e7ad707c187786d50a5b695b0546f0c61b169 100644 (file)
@@ -27,6 +27,7 @@ SRC_URI += "\
   file://use_sysroot_ncurses_instead_of_host.patch \
   file://avoid_parallel_make_races_on_pgen.patch \
   file://CVE-2016-0772.patch \
+  file://CVE-2016-5636.patch \
 "
 
 S = "${WORKDIR}/Python-${PV}"