From 495eaf5039596ac0fab7684cfc867569710eb0f4 Mon Sep 17 00:00:00 2001 From: Armin Kuster Date: Sat, 5 Dec 2015 10:56:23 -0800 Subject: libxml2: security fix CVE-2015-8035 Signed-off-by: Armin Kuster Signed-off-by: Joshua Lock --- meta/recipes-core/libxml/libxml2.inc | 1 + ...2015-8035-Fix-XZ-compression-support-loop.patch | 38 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 meta/recipes-core/libxml/libxml2/0001-CVE-2015-8035-Fix-XZ-compression-support-loop.patch diff --git a/meta/recipes-core/libxml/libxml2.inc b/meta/recipes-core/libxml/libxml2.inc index 56a99e8b6d..365d5bc7a6 100644 --- a/meta/recipes-core/libxml/libxml2.inc +++ b/meta/recipes-core/libxml/libxml2.inc @@ -28,6 +28,7 @@ SRC_URI = "ftp://xmlsoft.org/libxml2/libxml2-${PV}.tar.gz;name=libtar \ file://CVE-2015-8317-Fail-parsing-early-on-if-encoding-conversion-failed.patch \ file://CVE-2015-7942-Another-variation-of-overflow-in-Conditional-section.patch \ file://CVE-2015-7942-2-Fix-an-error-in-previous-Conditional-section-patch.patch \ + file://0001-CVE-2015-8035-Fix-XZ-compression-support-loop.patch \ " BINCONFIG = "${bindir}/xml2-config" diff --git a/meta/recipes-core/libxml/libxml2/0001-CVE-2015-8035-Fix-XZ-compression-support-loop.patch b/meta/recipes-core/libxml/libxml2/0001-CVE-2015-8035-Fix-XZ-compression-support-loop.patch new file mode 100644 index 0000000000..7107355706 --- /dev/null +++ b/meta/recipes-core/libxml/libxml2/0001-CVE-2015-8035-Fix-XZ-compression-support-loop.patch @@ -0,0 +1,38 @@ +From f0709e3ca8f8947f2d91ed34e92e38a4c23eae63 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard +Date: Tue, 3 Nov 2015 15:31:25 +0800 +Subject: [PATCH] CVE-2015-8035 Fix XZ compression support loop + +For https://bugzilla.gnome.org/show_bug.cgi?id=757466 +DoS when parsing specially crafted XML document if XZ support +is compiled in (which wasn't the case for 2.9.2 and master since +Nov 2013, fixed in next commit !) + +Upstream-Status: Backport + +CVE-2015-8035 + +Signed-off-by: Armin Kuster + +--- + xzlib.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/xzlib.c b/xzlib.c +index 0dcb9f4..1fab546 100644 +--- a/xzlib.c ++++ b/xzlib.c +@@ -581,6 +581,10 @@ xz_decomp(xz_statep state) + xz_error(state, LZMA_DATA_ERROR, "compressed data error"); + return -1; + } ++ if (ret == LZMA_PROG_ERROR) { ++ xz_error(state, LZMA_PROG_ERROR, "compression error"); ++ return -1; ++ } + } while (strm->avail_out && ret != LZMA_STREAM_END); + + /* update available output and crc check value */ +-- +2.3.5 + -- cgit 1.2.3-korg