From 4435ab4a3b2acbd66910dad5c602ec71f8902386 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Tue, 26 Sep 2017 15:43:24 +0800 Subject: ffmpeg: backport patches to fix 12 CVEs Backport patches to fix the following CVEs. CVE-2017-14054 CVE-2017-14055 CVE-2017-14056 CVE-2017-14057 CVE-2017-14058 CVE-2017-14059 CVE-2017-14169 CVE-2017-14170 CVE-2017-14171 CVE-2017-14222 CVE-2017-14223 CVE-2017-14225 (From OE-Core rev: 13862938a6a7a938f8d781655ceaf78a81b57549) Signed-off-by: Chen Qi Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- .../ffmpeg/ffmpeg/CVE-2017-14054.patch | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2017-14054.patch (limited to 'meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2017-14054.patch') diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2017-14054.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2017-14054.patch new file mode 100644 index 0000000000..e8baa188a3 --- /dev/null +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2017-14054.patch @@ -0,0 +1,39 @@ +From 124eb202e70678539544f6268efc98131f19fa49 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E5=AD=99=E6=B5=A9=20and=20=E5=BC=A0=E6=B4=AA=E4=BA=AE=28?= + =?UTF-8?q?=E6=9C=9B=E5=88=9D=29?= +Date: Fri, 25 Aug 2017 01:15:28 +0200 +Subject: [PATCH] avformat/rmdec: Fix DoS due to lack of eof check + +Fixes: loop.ivr + +Found-by: Xiaohei and Wangchu from Alibaba Security Team +Signed-off-by: Michael Niedermayer + +CVE: CVE-2017-14054 +Upstream-Status: Backport + +Signed-off-by: Chen Qi +--- + libavformat/rmdec.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c +index 178eaea..d6d7d9c 100644 +--- a/libavformat/rmdec.c ++++ b/libavformat/rmdec.c +@@ -1223,8 +1223,11 @@ static int ivr_read_header(AVFormatContext *s) + av_log(s, AV_LOG_DEBUG, "%s = '%s'\n", key, val); + } else if (type == 4) { + av_log(s, AV_LOG_DEBUG, "%s = '0x", key); +- for (j = 0; j < len; j++) ++ for (j = 0; j < len; j++) { ++ if (avio_feof(pb)) ++ return AVERROR_INVALIDDATA; + av_log(s, AV_LOG_DEBUG, "%X", avio_r8(pb)); ++ } + av_log(s, AV_LOG_DEBUG, "'\n"); + } else if (len == 4 && type == 3 && !strncmp(key, "StreamCount", tlen)) { + nb_streams = value = avio_rb32(pb); +-- +2.1.0 + -- cgit v1.2.3-54-g00ecf