]> code.ossystems Code Review - openembedded-core.git/commitdiff
libxml2: security fix CVE-2015-8242
authorArmin Kuster <akuster@mvista.com>
Sat, 5 Dec 2015 18:59:55 +0000 (10:59 -0800)
committerJoshua Lock <joshua.g.lock@intel.com>
Fri, 15 Jan 2016 15:12:53 +0000 (15:12 +0000)
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
meta/recipes-core/libxml/libxml2.inc
meta/recipes-core/libxml/libxml2/0001-CVE-2015-8242-Buffer-overead-with-HTML-parser-in-pus.patch [new file with mode: 0644]

index c0ed2d1a181f23cc8b0069fccb8142ea0e00bcd4..8127377eb9787a7cb3ba1cb291d95e7f6d4e396c 100644 (file)
@@ -35,6 +35,7 @@ SRC_URI = "ftp://xmlsoft.org/libxml2/libxml2-${PV}.tar.gz;name=libtar \
            file://CVE-2015-7499-2-Detect-incoherency-on-GROW.patch \
            file://0001-Fix-a-bug-on-name-parsing-at-the-end-of-current-inpu.patch \
            file://0001-CVE-2015-7500-Fix-memory-access-error-due-to-incorre.patch \
+           file://0001-CVE-2015-8242-Buffer-overead-with-HTML-parser-in-pus.patch \
           "
 
 BINCONFIG = "${bindir}/xml2-config"
diff --git a/meta/recipes-core/libxml/libxml2/0001-CVE-2015-8242-Buffer-overead-with-HTML-parser-in-pus.patch b/meta/recipes-core/libxml/libxml2/0001-CVE-2015-8242-Buffer-overead-with-HTML-parser-in-pus.patch
new file mode 100644 (file)
index 0000000..73531b3
--- /dev/null
@@ -0,0 +1,49 @@
+From 8fb4a770075628d6441fb17a1e435100e2f3b1a2 Mon Sep 17 00:00:00 2001
+From: Hugh Davenport <hugh@allthethings.co.nz>
+Date: Fri, 20 Nov 2015 17:16:06 +0800
+Subject: [PATCH] CVE-2015-8242 Buffer overead with HTML parser in push mode
+
+For https://bugzilla.gnome.org/show_bug.cgi?id=756372
+Error in the code pointing to the codepoint in the stack for the
+current char value instead of the pointer in the input that the SAX
+callback expects
+Reported and fixed by Hugh Davenport
+
+Upstream-Status: Backport
+
+CVE-2015-8242
+
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ HTMLparser.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/HTMLparser.c b/HTMLparser.c
+index bdf7807..b729197 100644
+--- a/HTMLparser.c
++++ b/HTMLparser.c
+@@ -5735,17 +5735,17 @@ htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
+                               if (ctxt->keepBlanks) {
+                                   if (ctxt->sax->characters != NULL)
+                                       ctxt->sax->characters(
+-                                              ctxt->userData, &cur, 1);
++                                              ctxt->userData, &in->cur[0], 1);
+                               } else {
+                                   if (ctxt->sax->ignorableWhitespace != NULL)
+                                       ctxt->sax->ignorableWhitespace(
+-                                              ctxt->userData, &cur, 1);
++                                              ctxt->userData, &in->cur[0], 1);
+                               }
+                           } else {
+                               htmlCheckParagraph(ctxt);
+                               if (ctxt->sax->characters != NULL)
+                                   ctxt->sax->characters(
+-                                          ctxt->userData, &cur, 1);
++                                          ctxt->userData, &in->cur[0], 1);
+                           }
+                       }
+                       ctxt->token = 0;
+-- 
+2.3.5
+