diff options
-rw-r--r-- | abs/core/elfutils/CVE-2014-0172.patch | 37 | ||||
-rw-r--r-- | abs/core/elfutils/PKGBUILD | 45 | ||||
-rw-r--r-- | abs/core/elfutils/fix-run-backtrace-native-core-test.patch | 43 |
3 files changed, 110 insertions, 15 deletions
diff --git a/abs/core/elfutils/CVE-2014-0172.patch b/abs/core/elfutils/CVE-2014-0172.patch new file mode 100644 index 0000000..5f9541d --- /dev/null +++ b/abs/core/elfutils/CVE-2014-0172.patch @@ -0,0 +1,37 @@ +From 7f1eec317db79627b473c5b149a22a1b20d1f68f Mon Sep 17 00:00:00 2001 +From: Mark Wielaard <mjw@redhat.com> +Date: Wed, 9 Apr 2014 11:33:23 +0200 +Subject: [PATCH] CVE-2014-0172 Check for overflow before calling malloc to + uncompress data. + +https://bugzilla.redhat.com/show_bug.cgi?id=1085663 + +Reported-by: Florian Weimer <fweimer@redhat.com> +Signed-off-by: Mark Wielaard <mjw@redhat.com> +diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c +index 79daeac..34ea373 100644 +--- a/libdw/dwarf_begin_elf.c ++++ b/libdw/dwarf_begin_elf.c +@@ -1,5 +1,5 @@ + /* Create descriptor from ELF descriptor for processing file. +- Copyright (C) 2002-2011 Red Hat, Inc. ++ Copyright (C) 2002-2011, 2014 Red Hat, Inc. + This file is part of elfutils. + Written by Ulrich Drepper <drepper@redhat.com>, 2002. + +@@ -282,6 +282,12 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp) + memcpy (&size, data->d_buf + 4, sizeof size); + size = be64toh (size); + ++ /* Check for unsigned overflow so malloc always allocated ++ enough memory for both the Elf_Data header and the ++ uncompressed section data. */ ++ if (unlikely (sizeof (Elf_Data) + size < size)) ++ break; ++ + Elf_Data *zdata = malloc (sizeof (Elf_Data) + size); + if (unlikely (zdata == NULL)) + break; +-- +1.9.2 + diff --git a/abs/core/elfutils/PKGBUILD b/abs/core/elfutils/PKGBUILD index 8cbee1e..6a7485d 100644 --- a/abs/core/elfutils/PKGBUILD +++ b/abs/core/elfutils/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 163718 2012-07-18 03:05:26Z eric $ -# Maintainer: +# $Id$ +# Maintainer: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Andrej Gelenberg <andrej.gelenberg@udo.edu> pkgname=elfutils -pkgver=0.154 -pkgrel=1 -pkgdesc="Collection of libraries and utilities for working with ELF object files and DWARF debugging information" +pkgver=0.158 +pkgrel=2 +pkgdesc="Libraries and utilities to handle ELF object files and DWARF debugging information" arch=('i686' 'x86_64') url="https://fedorahosted.org/elfutils/" license=('LGPL3' 'GPL' 'GPL3') @@ -13,27 +13,42 @@ depends=('gcc-libs' 'zlib' 'bzip2' 'xz') provides=('libelf') replaces=('libelf') conflicts=('libelf') -options=('!makeflags') -source=(https://fedorahosted.org/releases/e/l/elfutils/${pkgver}/elfutils-${pkgver}.tar.bz2{,.sig} \ - elfutils-0.154-binutils-pr-ld-13621.patch) -sha1sums=('3a92a6f636cc3d14d4b3b00ba5c1e88a2a8d510b' - '956461d44b03823e0b448e78b1f4aa25ef269e1e' - '09681b728edb86c77eed47286554bef048f3507f') +source=(https://fedorahosted.org/releases/e/l/elfutils/${pkgver}/elfutils-${pkgver}.tar.bz2{,.sig} + fix-run-backtrace-native-core-test.patch + CVE-2014-0172.patch) +options=('staticlibs') +sha1sums=('09adbbf0f3a35bb1bcb77c2eaa40de8d3443af4d' + 'SKIP' + '8ecef640f3d1229cdf45ffda016a69848c18e61b' + '3e776c07d6ca2c7604a384d266f79c3ece1fb179') + +prepare() { + cd ${pkgname}-${pkgver} + + patch -Np1 -i ../fix-run-backtrace-native-core-test.patch + # merged upstream + patch -Np1 -i ../CVE-2014-0172.patch +} build() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} + CFLAGS+=" -g" # required for test-suite success - patch -p1 -i "${srcdir}/elfutils-0.154-binutils-pr-ld-13621.patch" ./configure --prefix=/usr --program-prefix="eu-" + make } check() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} + make check } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + rm "${pkgdir}"/usr/lib/lib{asm,dw,elf}.a } diff --git a/abs/core/elfutils/fix-run-backtrace-native-core-test.patch b/abs/core/elfutils/fix-run-backtrace-native-core-test.patch new file mode 100644 index 0000000..5088ea5 --- /dev/null +++ b/abs/core/elfutils/fix-run-backtrace-native-core-test.patch @@ -0,0 +1,43 @@ +From e922ec4e3bcd7c164a9ce424accac4394e7d5afd Mon Sep 17 00:00:00 2001 +From: Matthias Klose <doko@ubuntu.com> +Date: Tue, 07 Jan 2014 09:25:29 +0000 +Subject: tests: backtrace-subr.sh (check_native_core) should check core file name. + +Needed when /proc/sys/kernel/core_uses_pid is set to 0. Try to rename +the core file, and if it does still fail, skip the test. + +Signed-off-by: Mark Wielaard <mjw@redhat.com> +--- +diff --git a/tests/ChangeLog b/tests/ChangeLog +index 63b7bed..7e9dcf4 100644 +--- a/tests/ChangeLog ++++ b/tests/ChangeLog +@@ -1,3 +1,9 @@ ++2014-01-07 Matthias Klose <doko@ubuntu.com> ++ ++ * backtrace-subr.sh (check_native_core): Check to see if core file ++ was created without ".PID" extension, if so mv core to core.PID. ++ Skip test if no core file was created or could be found. ++ + 2014-01-04 Mark Wielaard <mjw@redhat.com> + + * backtrace-data.c (main): Don't assert if raise returns. +diff --git a/tests/backtrace-subr.sh b/tests/backtrace-subr.sh +index e7ece91..62b873c 100644 +--- a/tests/backtrace-subr.sh ++++ b/tests/backtrace-subr.sh +@@ -111,6 +111,11 @@ check_native_core() + + # Skip the test if we cannot adjust core ulimit. + core="core.`ulimit -c unlimited || exit 77; set +ex; testrun ${abs_builddir}/$child --gencore; true`" ++ # see if /proc/sys/kernel/core_uses_pid is set to 0 ++ if [ -f core ]; then ++ mv core "$core" ++ fi ++ if [ ! -f "$core" ]; then exit 77; fi + + if [ "x$SAVED_VALGRIND_CMD" != "x" ]; then + VALGRIND_CMD="$SAVED_VALGRIND_CMD" +-- +cgit v0.9.2 + |