From 4d1f651047a045955b436357753c7e094468b4ed Mon Sep 17 00:00:00 2001 From: Armin Kuster Date: Sat, 16 Jul 2016 16:04:14 -0700 Subject: python2: Security fix CVE-2016-5636 Affects python2 < 2.7.11 Base score (4.4) Medium Signed-off-by: Armin Kuster Signed-off-by: Ross Burton --- .../python/python/CVE-2016-5636.patch | 44 ++++++++++++++++++++++ meta/recipes-devtools/python/python_2.7.11.bb | 1 + 2 files changed, 45 insertions(+) create mode 100644 meta/recipes-devtools/python/python/CVE-2016-5636.patch 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 index 0000000000..9a37471459 --- /dev/null +++ b/meta/recipes-devtools/python/python/CVE-2016-5636.patch @@ -0,0 +1,44 @@ + +# HG changeset patch +# User Benjamin Peterson +# Date 1453357424 28800 +# Node ID 985fc64c60d6adffd1138b6cc46df388ca91ca5d +# Parent 7ec954b9fc54448a35b56d271340ba109eb381b9 +prevent buffer overflow in get_data (closes #26171) + +Upstream-Status: Backport +https://hg.python.org/cpython/rev/985fc64c60d6 + +CVE: CVE-2016-5636 +Signed-off-by: Armin Kuster + +Index: Python-2.7.11/Misc/NEWS +=================================================================== +--- Python-2.7.11.orig/Misc/NEWS ++++ Python-2.7.11/Misc/NEWS +@@ -7,6 +7,9 @@ What's New in Python 2.7.11? + + *Release date: 2015-12-05* + ++- Issue #26171: Fix possible integer overflow and heap corruption in ++ zipimporter.get_data(). ++ + Library + ------- + +Index: Python-2.7.11/Modules/zipimport.c +=================================================================== +--- Python-2.7.11.orig/Modules/zipimport.c ++++ Python-2.7.11/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) { diff --git a/meta/recipes-devtools/python/python_2.7.11.bb b/meta/recipes-devtools/python/python_2.7.11.bb index 7eced2dcdc..1e4a30d1ff 100644 --- a/meta/recipes-devtools/python/python_2.7.11.bb +++ b/meta/recipes-devtools/python/python_2.7.11.bb @@ -27,6 +27,7 @@ SRC_URI += "\ file://use_sysroot_ncurses_instead_of_host.patch \ file://avoid_parallel_make_races_on_pgen.patch \ file://add-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch \ + file://CVE-2016-5636.patch \ " S = "${WORKDIR}/Python-${PV}" -- cgit 1.2.3-korg