From 75fda358c338c6459d953b9f1d4de8f49333a016 Mon Sep 17 00:00:00 2001 From: Yue Tao Date: Fri, 29 Aug 2014 14:46:19 +0800 Subject: gst-ffmpeg: Security Advisory - ffmpeg - CVE-2013-0869 The field_end function in libavcodec/h264.c in FFmpeg before 1.1.2 allows remote attackers to have an unspecified impact via crafted H.264 data, related to an SPS and slice mismatch and an out-of-bounds array access. http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0869 (From OE-Core rev: 464123172c92d92fa08e2125c04653590ad654c7) Signed-off-by: Yue Tao Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- ...rror-concealment-when-SPS-and-slices-are-.patch | 33 ++++++++++++++++++++++ .../gstreamer/gst-ffmpeg_0.10.13.bb | 1 + 2 files changed, 34 insertions(+) create mode 100644 meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch (limited to 'meta') diff --git a/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch new file mode 100644 index 0000000000..5d45c1a96c --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg-0.10.13/0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch @@ -0,0 +1,33 @@ +gst-ffmpeg: h264: skip error concealment when SPS and slices are + mismatching + +Fixes out of array accesses + +Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind +Signed-off-by: Michael Niedermayer +(cherry picked from commit 695af8eed642ff0104834495652d1ee784a4c14d) + +Upstream-Status: Backport + +Signed-off-by: Michael Niedermayer +Signed-off-by: Yue Tao +--- + libavcodec/h264.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/libavcodec/h264.c b/libavcodec/h264.c +index da144db..0aab4e7 100644 +--- a/gst-libs/ext/libav/libavcodec/h264.c ++++ b/gst-libs/ext/libav/libavcodec/h264.c +@@ -2351,7 +2351,7 @@ static int field_end(H264Context *h, int in_setup) + * past end by one (callers fault) and resync_mb_y != 0 + * causes problems for the first MB line, too. + */ +- if (!FIELD_PICTURE) ++ if (!FIELD_PICTURE && h->current_slice && !h->sps.new) + ff_er_frame_end(s); + + ff_MPV_frame_end(s); +-- +1.7.5.4 + 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 3ccb7be9a9..395054de5d 100644 --- a/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb +++ b/meta/recipes-multimedia/gstreamer/gst-ffmpeg_0.10.13.bb @@ -54,6 +54,7 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2 \ file://0001-lavf-compute-probe-buffer-size-more-reliably.patch \ file://0001-ffserver-set-oformat.patch \ file://0001-h264-set-parameters-from-SPS-whenever-it-changes.patch \ + file://0001-h264-skip-error-concealment-when-SPS-and-slices-are-.patch \ ${@bb.utils.contains('PACKAGECONFIG', 'libav9', 'file://libav-9.patch', '', d)} \ " -- cgit v1.2.3-54-g00ecf