!92 Fix CVE-2021-38171

From: @happyworker 
Reviewed-by: @technology208 
Signed-off-by: @technology208
This commit is contained in:
openeuler-ci-bot 2024-07-02 09:28:54 +00:00 committed by Gitee
commit 0ac19845e9
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 65 additions and 1 deletions

30
CVE-2021-38171.patch Normal file
View File

@ -0,0 +1,30 @@
From 41ee973034e8dba9f404ff9a609bba912b213db2 Mon Sep 17 00:00:00 2001
From: maryam ebrahimzadeh <me22bee@outlook.com>
Date: Tue, 2 Jul 2024 15:28:58 +0800
Subject: [PATCH] CVE-2021-38171
---
libavformat/adtsenc.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libavformat/adtsenc.c b/libavformat/adtsenc.c
index 3c2840c..3807d67 100644
--- a/libavformat/adtsenc.c
+++ b/libavformat/adtsenc.c
@@ -50,9 +50,11 @@ static int adts_decode_extradata(AVFormatContext *s, ADTSContext *adts, const ui
GetBitContext gb;
PutBitContext pb;
MPEG4AudioConfig m4ac;
- int off;
+ int off, ret;
- init_get_bits(&gb, buf, size * 8);
+ ret = init_get_bits8(&gb, buf, size);
+ if (ret < 0)
+ return ret;
off = avpriv_mpeg4audio_get_config(&m4ac, buf, size * 8, 1);
if (off < 0)
return off;
--
2.43.0

26
CVE-2022-1475.patch Normal file
View File

@ -0,0 +1,26 @@
From 0fa2535254c3e45b83f3a915f91b315f6d89879d Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michael@niedermayer.cc>
Date: Tue, 2 Jul 2024 17:15:31 +0800
Subject: [PATCH] CVE-2022-1475
---
ffmpeg-4.2.4/libavcodec/g729_parser.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/ffmpeg-4.2.4/libavcodec/g729_parser.c b/ffmpeg-4.2.4/libavcodec/g729_parser.c
index fc00235..3ede92d 100644
--- a/ffmpeg-4.2.4/libavcodec/g729_parser.c
+++ b/ffmpeg-4.2.4/libavcodec/g729_parser.c
@@ -48,6 +48,9 @@ static int g729_parse(AVCodecParserContext *s1, AVCodecContext *avctx,
av_assert1(avctx->codec_id == AV_CODEC_ID_G729);
/* FIXME: replace this heuristic block_size with more precise estimate */
s->block_size = (avctx->bit_rate < 8000) ? G729D_6K4_BLOCK_SIZE : G729_8K_BLOCK_SIZE;
+ // channels > 2 is invalid, we pass the packet on unchanged
+ if (avctx->channels > 2)
+ s->block_size = 0;
s->block_size *= avctx->channels;
s->duration = avctx->frame_size;
}
--
2.43.0

View File

@ -61,7 +61,7 @@ ExclusiveArch: armv7hnl
Summary: Digital VCR and streaming server
Name: ffmpeg%{?flavor}
Version: 4.2.4
Release: 11
Release: 13
License: %{ffmpeg_license}
URL: http://ffmpeg.org/
%if 0%{?date}
@ -82,6 +82,8 @@ Patch9: CVE-2022-3341.patch
Patch10: CVE-2022-3109.patch
Patch11: fix-CVE-2023-51793.patch
Patch12: fix-CVE-2023-50010.patch
Patch13: CVE-2021-38171.patch
Patch14: CVE-2022-1475.patch
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%{?_with_cuda:BuildRequires: cuda-minimal-build-%{_cuda_version_rpm} cuda-drivers-devel}
%{?_with_libnpp:BuildRequires: pkgconfig(nppc-%{_cuda_version})}
@ -414,6 +416,12 @@ install -pm755 tools/qt-faststart %{buildroot}%{_bindir}
%changelog
* Tue Jul 2 2024 happyworker <208suo@208suo.com> - 4.2.4-13
- Fix CVE-2022-1475
* Tue Jul 2 2024 happyworker <208suo@208suo.com> - 4.2.4-12
- Fix CVE-2021-38171
* Tue Jul 02 2024 happyworker <208suo@208suo.com> - 4.2.4-11
- Fix CVE-2023-50010