[oe-commits] [openembedded-core] 06/17: libxml2: Security fix for CVE-2016-4483.patch

git at git.openembedded.org git at git.openembedded.org
Wed Jul 27 07:34:11 UTC 2016


rpurdie pushed a commit to branch jethro
in repository openembedded-core.

commit a28fea55f72284d3f4ed85f19f80b8475e726ee6
Author: Armin Kuster <akuster at mvista.com>
AuthorDate: Sat Jul 9 14:31:00 2016 -0700

    libxml2: Security fix for CVE-2016-4483.patch
    
    affects libxml2 < 2.9.4
    
    Signed-off-by: Armin Kuster <akuster at mvista.com>
---
 .../libxml/libxml2/CVE-2016-4483.patch             | 55 ++++++++++++++++++++++
 meta/recipes-core/libxml/libxml2_2.9.2.bb          |  1 +
 2 files changed, 56 insertions(+)

diff --git a/meta/recipes-core/libxml/libxml2/CVE-2016-4483.patch b/meta/recipes-core/libxml/libxml2/CVE-2016-4483.patch
new file mode 100644
index 0000000..cf8d6ba
--- /dev/null
+++ b/meta/recipes-core/libxml/libxml2/CVE-2016-4483.patch
@@ -0,0 +1,55 @@
+From c97750d11bb8b6f3303e7131fe526a61ac65bcfd Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard at redhat.com>
+Date: Mon, 23 May 2016 13:39:13 +0800
+Subject: [PATCH] Avoid an out of bound access when serializing malformed
+ strings
+
+For https://bugzilla.gnome.org/show_bug.cgi?id=766414
+
+* xmlsave.c: xmlBufAttrSerializeTxtContent() if an attribute value
+  is not UTF-8 be more careful when serializing it as we may do an
+  out of bound access as a result.
+
+Upstream-Status: Backport
+CVE: CVE-2016-4483
+Signed-off-by: Armin Kuster <akuster at mvista.com>
+
+---
+ xmlsave.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/xmlsave.c b/xmlsave.c
+index 774404b..4a8e3f3 100644
+--- a/xmlsave.c
++++ b/xmlsave.c
+@@ -2097,8 +2097,8 @@ xmlBufAttrSerializeTxtContent(xmlBufPtr buf, xmlDocPtr doc,
+             xmlBufAdd(buf, BAD_CAST "&amp;", 5);
+             cur++;
+             base = cur;
+-        } else if ((*cur >= 0x80) && ((doc == NULL) ||
+-                                      (doc->encoding == NULL))) {
++        } else if ((*cur >= 0x80) && (cur[1] != 0) &&
++	           ((doc == NULL) || (doc->encoding == NULL))) {
+             /*
+              * We assume we have UTF-8 content.
+              */
+@@ -2121,14 +2121,14 @@ xmlBufAttrSerializeTxtContent(xmlBufPtr buf, xmlDocPtr doc,
+                 val <<= 6;
+                 val |= (cur[1]) & 0x3F;
+                 l = 2;
+-            } else if (*cur < 0xF0) {
++            } else if ((*cur < 0xF0) && (cur [2] != 0)) {
+                 val = (cur[0]) & 0x0F;
+                 val <<= 6;
+                 val |= (cur[1]) & 0x3F;
+                 val <<= 6;
+                 val |= (cur[2]) & 0x3F;
+                 l = 3;
+-            } else if (*cur < 0xF8) {
++            } else if ((*cur < 0xF8) && (cur [2] != 0) && (cur[3] != 0)) {
+                 val = (cur[0]) & 0x07;
+                 val <<= 6;
+                 val |= (cur[1]) & 0x3F;
+-- 
+2.3.5
+
diff --git a/meta/recipes-core/libxml/libxml2_2.9.2.bb b/meta/recipes-core/libxml/libxml2_2.9.2.bb
index e2400af..41cba64 100644
--- a/meta/recipes-core/libxml/libxml2_2.9.2.bb
+++ b/meta/recipes-core/libxml/libxml2_2.9.2.bb
@@ -7,6 +7,7 @@ SRC_URI += "http://www.w3.org/XML/Test/xmlts20080827.tar.gz;name=testtar \
 SRC_URI += "file://CVE-2016-1762.patch \
             file://CVE-2016-3705.patch \
             file://CVE-2016-1834.patch \
+            file://CVE-2016-4483.patch \
     "
 
 SRC_URI[libtar.md5sum] = "9e6a9aca9d155737868b3dc5fd82f788"

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list