]> code.ossystems Code Review - openembedded-core.git/commitdiff
dpkg: Security fix CVE-2015-0860
authorArmin Kuster <akuster@mvista.com>
Sat, 30 Jan 2016 22:12:44 +0000 (14:12 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 7 Feb 2016 17:22:53 +0000 (17:22 +0000)
CVE-2015-0860 dpkg: stack overflows and out of bounds read

(From OE-Core rev: 5aaec01acc9e5a19374a566307a425d43c887f4b)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/recipes-devtools/dpkg/dpkg/CVE-2015-0860.patch [new file with mode: 0644]
meta/recipes-devtools/dpkg/dpkg_1.17.21.bb

diff --git a/meta/recipes-devtools/dpkg/dpkg/CVE-2015-0860.patch b/meta/recipes-devtools/dpkg/dpkg/CVE-2015-0860.patch
new file mode 100644 (file)
index 0000000..2008d89
--- /dev/null
@@ -0,0 +1,53 @@
+From f1aac7d933819569bf6f347c3c0d5a64a90bbce0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Hanno=20B=C3=B6ck?= <hanno@hboeck.de>
+Date: Thu, 19 Nov 2015 20:03:10 +0100
+Subject: [PATCH] dpkg-deb: Fix off-by-one write access on ctrllenbuf variable
+
+This affects old format .deb packages.
+
+Fixes: CVE-2015-0860
+Warned-by: afl
+Signed-off-by: Guillem Jover <guillem@debian.org>
+
+Upstream-Status: Backport
+
+https://anonscm.debian.org/cgit/dpkg/dpkg.git/commit/?h=wheezy&id=f1aac7d933819569bf6f347c3c0d5a64a90bbce0
+
+CVE: CVE-2015-0860
+
+hand merge Changelog
+
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ debian/changelog   | 3 +++
+ dpkg-deb/extract.c | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+Index: dpkg-1.17.21/dpkg-deb/extract.c
+===================================================================
+--- dpkg-1.17.21.orig/dpkg-deb/extract.c
++++ dpkg-1.17.21/dpkg-deb/extract.c
+@@ -245,7 +245,7 @@ extracthalf(const char *debar, const cha
+     if (errstr)
+       ohshit(_("archive has invalid format version: %s"), errstr);
+-    r = read_line(arfd, ctrllenbuf, 1, sizeof(ctrllenbuf));
++    r = read_line(arfd, ctrllenbuf, 1, sizeof(ctrllenbuf) - 1);
+     if (r < 0)
+       read_fail(r, debar, _("archive control member size"));
+     if (sscanf(ctrllenbuf, "%jd%c%d", &ctrllennum, &nlc, &dummy) != 2 ||
+Index: dpkg-1.17.21/ChangeLog
+===================================================================
+--- dpkg-1.17.21.orig/ChangeLog
++++ dpkg-1.17.21/ChangeLog
+@@ -1,3 +1,9 @@
++[ Guillem Jover ]
++  * Fix an off-by-one write access in dpkg-deb when parsing the old format
++    .deb control member size. Thanks to Hanno Böck <hanno@hboeck.de>.
++    Fixes CVE-2015-0860.
++
++
+ commit 6fc9e281551e0d851e38249679688bbabbad5c5f
+ Author: Guillem Jover <guillem@debian.org>
+ Date:   Sat Oct 25 02:24:41 2014 +0200
index 7adb2b227ff51716f1168f3d5fe13cec579c1fd6..9133d91a09ee689c12c71b040fe52323d8f35c08 100644 (file)
@@ -14,6 +14,7 @@ SRC_URI += "file://noman.patch \
             file://no-vla-warning.patch \
             file://add_armeb_triplet_entry.patch \
             file://tarfix.patch \
+            file://CVE-2015-0860.patch \
            "
 
 SRC_URI[md5sum] = "765a96fd0180196613bbfa3c4aef0775"