| 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.18.2/dpkg-deb/extract.c |
| =================================================================== |
| --- dpkg-1.18.2.orig/dpkg-deb/extract.c |
| +++ dpkg-1.18.2/dpkg-deb/extract.c |
| @@ -247,7 +247,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.18.2/ChangeLog |
| =================================================================== |
| --- dpkg-1.18.2.orig/ChangeLog |
| +++ dpkg-1.18.2/ChangeLog |
| @@ -1,3 +1,8 @@ |
| +[ 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 5459d330c73cdcfd1327bc93c0ebddc2da4a3a3a (HEAD -> master, tag: 1.18.2) |
| Author: Guillem Jover <guillem@debian.org> |
| Date: Mon Aug 3 15:41:05 2015 +0200 |