dpkg: fix CVE-2015-0860

Backported and cherry picked upstream commit:
https://anonscm.debian.org/cgit/dpkg/dpkg.git/commit/?h=wheezy&id=f1aac7d933819569bf6f347c3c0d5a64a90bbce0

(From OE-Core rev: 562310ac906ffc4a7f1be5fce6e2e8395724fcff)

Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Catalin Enache
2016-01-27 18:22:21 +08:00
committed by Richard Purdie
parent f80d16e4d3
commit 51d9ba6ea2
2 changed files with 36 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
From 708e60ea4e16afb1d85da60dd73cb374a987653d 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 1/1] dpkg-deb: Fix off-by-one write access on ctrllenbuf
variable
This affects old format .deb packages.
CVE: CVE-2015-0860
Warned-by: afl
Signed-off-by: Guillem Jover <guillem@debian.org>
Upstream-Status: Backport
Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
---
dpkg-deb/extract.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dpkg-deb/extract.c b/dpkg-deb/extract.c
index 5a9587a..e39fb35 100644
--- a/dpkg-deb/extract.c
+++ b/dpkg-deb/extract.c
@@ -247,7 +247,7 @@ extracthalf(const char *debar, const char *dir,
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 ||
--
1.9.1

View File

@@ -13,6 +13,7 @@ SRC_URI += "file://noman.patch \
file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \
file://0005-dpkg-compiler.m4-remove-Wvla.patch \
file://0006-add-musleabi-to-known-target-tripets.patch \
file://dpkg-CVE-2015-0860.patch \
"
SRC_URI[md5sum] = "63b9d869081ec49adeef6c5ff62d6576"