diff -u faad2-2.6.1/debian/control faad2-2.6.1/debian/control --- faad2-2.6.1/debian/control +++ faad2-2.6.1/debian/control @@ -1,7 +1,8 @@ Source: faad2 Section: libs Priority: optional -Maintainer: Matthew W. S. Bell +Maintainer: Ubuntu MOTU Developers +XSBC-Original-Maintainer: Matthew W. S. Bell Standards-Version: 3.7.2 Build-Depends: debhelper (>> 4), dpatch, libtool, libid3-dev Build-Conflicts: autoconf2.13, automake1.4 diff -u faad2-2.6.1/debian/patches/00list faad2-2.6.1/debian/patches/00list --- faad2-2.6.1/debian/patches/00list +++ faad2-2.6.1/debian/patches/00list @@ -4,2 +4,3 @@ 07_remove-static +12_heap_overflow.dpatch 99_autotools-regenerated diff -u faad2-2.6.1/debian/changelog faad2-2.6.1/debian/changelog --- faad2-2.6.1/debian/changelog +++ faad2-2.6.1/debian/changelog @@ -1,3 +1,18 @@ +faad2 (2.6.1-2ubuntu0.1) hardy-security; urgency=low + + * SECURITY UPDATE: Heap-based buffer overflow in the decodeMP4file function + (frontend/main.c) in FAAD2 before 2.6.1 allows remote attackers to cause + a denial of service (crash) and possibly execute arbitrary code via a + crafted MPEG-4 (MP4) file. (Closes LP: #277110) + * 12_heap_overflow.dpatch + - Patch supplied by upstream to address vulnerability. + * References + http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2008-4201 + http://www.audiocoding.com/patch/main_overflow.diff + CVE-2008-4201 + + -- Stefan Lesicnik Thu, 02 Oct 2008 16:26:26 +0200 + faad2 (2.6.1-2) unstable; urgency=low * Remove XMMS plugin as XMMS is being removed (Closes: #456724) only in patch2: unchanged: --- faad2-2.6.1.orig/debian/patches/12_heap_overflow.dpatch +++ faad2-2.6.1/debian/patches/12_heap_overflow.dpatch @@ -0,0 +1,21 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run + +@DPATCH@ +--- faad2-2.6.1\faad2\frontend\main.c 2007-11-01 13:33:30.000000000 -0700 ++++ faad2-2.6.1/frontend/main.c 2008-09-16 11:01:40.000000000 -0700 +@@ -911,12 +911,14 @@ + if (sampleId == 0) dur = 0; + + if (useAacLength || (timescale != samplerate)) { + sample_count = frameInfo.samples; + } else { + sample_count = (unsigned int)(dur * frameInfo.channels); ++ if (sample_count > frameInfo.samples) ++ sample_count = frameInfo.samples; + + if (!useAacLength && !initial && (sampleId < numSamples/2) && (sample_count != frameInfo.samples)) + { + faad_fprintf(stderr, "MP4 seems to have incorrect frame duration, using values from AAC data.\n"); + useAacLength = 1; + sample_count = frameInfo.samples; +