From: Archana Polampalli Date: Fri, 14 Feb 2025 10:49:27 +0000 (+0000) Subject: ffmpeg: fix CVE-2024-36613 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1af53c8dd20662e720ac4dad31833a9d776b795a;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git ffmpeg: fix CVE-2024-36613 FFmpeg n6.1.1 has a vulnerability in the DXA demuxer of the libavformat library allowing for an integer overflow, potentially resulting in a denial-of-service (DoS) condition or other undefined behavior. Signed-off-by: Archana Polampalli Signed-off-by: Steve Sakoman --- diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-36613.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-36613.patch new file mode 100644 index 0000000000..300b8d1e49 --- /dev/null +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2024-36613.patch @@ -0,0 +1,38 @@ +From 1f6fcc64179377114b4ecc3b9f63bd5774a64edf Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer +Date: Sat, 30 Sep 2023 00:51:29 +0200 +Subject: [PATCH 2/4] avformat/dxa: Adjust order of operations around block + align + +Fixes: 51896/clusterfuzz-testcase-minimized-ffmpeg_dem_DXA_fuzzer-5730576523198464 +Fixes: signed integer overflow: 2147483566 + 82 cannot be represented in type 'int' + +Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg +Signed-off-by: Michael Niedermayer +(cherry picked from commit 50d8e4f27398fd5778485a827d7a2817921f8540) +Signed-off-by: Michael Niedermayer + +CVE: CVE-2024-36613 + +Upstream-Status: Backport [https://github.com/ffmpeg/ffmpeg/commit/1f6fcc64179377114b4ecc3b9f63bd5774a64edf] + +Signed-off-by: Archana Polampalli +--- + libavformat/dxa.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libavformat/dxa.c b/libavformat/dxa.c +index 16fbb08..53747c8 100644 +--- a/libavformat/dxa.c ++++ b/libavformat/dxa.c +@@ -120,7 +120,7 @@ static int dxa_read_header(AVFormatContext *s) + } + c->bpc = (fsize + c->frames - 1) / c->frames; + if(ast->codecpar->block_align) +- c->bpc = ((c->bpc + ast->codecpar->block_align - 1) / ast->codecpar->block_align) * ast->codecpar->block_align; ++ c->bpc = ((c->bpc - 1 + ast->codecpar->block_align) / ast->codecpar->block_align) * ast->codecpar->block_align; + c->bytes_left = fsize; + c->wavpos = avio_tell(pb); + avio_seek(pb, c->vidpos, SEEK_SET); +-- +2.40.0 diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_5.0.1.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_5.0.1.bb index 049d9fd9ec..91259baa5e 100644 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_5.0.1.bb +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_5.0.1.bb @@ -44,6 +44,7 @@ SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \ file://CVE-2024-35367.patch \ file://CVE-2024-35368.patch \ file://CVE-2025-0518.patch \ + file://CVE-2024-36613.patch \ " SRC_URI[sha256sum] = "ef2efae259ce80a240de48ec85ecb062cecca26e4352ffb3fda562c21a93007b"