From a51eb5fc4c5c2da67219bdd0d84c6fab8ed2343e Mon Sep 17 00:00:00 2001 From: Yue Tao Date: Sun, 27 Apr 2014 20:24:18 +0800 Subject: gst-ffmpeg: fix for Security Advisory CVE-2013-0856 The lpc_prediction function in libavcodec/alac.c in FFmpeg before 1.1 allows remote attackers to have an unspecified impact via crafted Apple Lossless Audio Codec (ALAC) data, related to a large nb_samples value. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0856 (From OE-Core rev: 571ccce77859435ff8010785e11627b20d8b31f4) Signed-off-by: Yue Tao Signed-off-by: Roy Li Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- .../0001-alac-fix-nb_samples-order-case.patch | 30 ++++++++++++++++++++++ .../gstreamer/gst-ffmpeg_0.10.13.bb | 1 + 2 files changed, 31 insertions(+) create mode 100644 meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/0001-alac-fix-nb_samples-order-case.patch diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/0001-alac-fix-nb_samples-order-case.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/0001-alac-fix-nb_samples-order-case.patch new file mode 100644 index 0000000000..10ce0f332c --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/0001-alac-fix-nb_samples-order-case.patch @@ -0,0 +1,30 @@ +From e0884eadf6a15e93142131b695f48776f9a0ac31 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Sat, 10 Nov 2012 17:14:04 +0100 +Subject: [PATCH] alac: fix nb_samples < order case + +Upstream-Status: Backport + +Commit e0884eadf6a15e93142131b695f48776f9a0ac31 release/1.0 + +Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind +Signed-off-by: Michael Niedermayer +(cherry picked from commit fd4f4923cce6a2cbf4f48640b4ac706e614a1594) +--- + libavcodec/alac.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libavcodec/alac.c b/libavcodec/alac.c +index 9cd1737..e8e844a 100644 +--- a/gst-libs/ext/libav/libavcodec/alac.c ++++ b/gst-libs/ext/libav/libavcodec/alac.c +@@ -278,7 +278,7 @@ static void predictor_decompress_fir_ada + + /* read warm-up samples */ + if (predictor_coef_num > 0) +- for (i = 0; i < predictor_coef_num; i++) { ++ for (i = 0; i < predictor_coef_num && i < output_size; i++) { + int32_t val; + + val = buffer_out[i] + error_buffer[i+1]; +-- diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb index 28ea29e41b..a0673fd668 100644 --- a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb @@ -33,6 +33,7 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \ file://0001-atrac3dec-Check-coding-mode-against-channels.patch \ file://0001-eamad-fix-out-of-array-accesses.patch \ file://0001-mjpegdec-check-SE.patch \ + file://0001-alac-fix-nb_samples-order-case.patch \ " SRC_URI[md5sum] = "7f5beacaf1312db2db30a026b36888c4" -- cgit 1.2.3-korg