!12 fix CVE-2021-3185

From: @lubing6
Reviewed-by: @small_leek
Signed-off-by: @small_leek
This commit is contained in:
openeuler-ci-bot 2021-02-09 08:52:35 +08:00 committed by Gitee
commit feb1c1eda2
2 changed files with 44 additions and 1 deletions

39
CVE-2021-3185.patch Normal file
View File

@ -0,0 +1,39 @@
From 11353b3f6e2f047cc37483d21e6a37ae558896bc Mon Sep 17 00:00:00 2001
From: Andrew Wesie <andrew@theori.io>
Date: Fri, 16 Oct 2020 12:29:02 +0100
Subject: [PATCH] codecparsers: h264parser: guard against ref_pic_markings
overflow
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1703>
---
gst-libs/gst/codecparsers/gsth264parser.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/gst-libs/gst/codecparsers/gsth264parser.c b/gst-libs/gst/codecparsers/gsth264parser.c
index 1c40b6517c..012f1d0d73 100644
--- a/gst-libs/gst/codecparsers/gsth264parser.c
+++ b/gst-libs/gst/codecparsers/gsth264parser.c
@@ -723,13 +723,17 @@ gst_h264_slice_parse_dec_ref_pic_marking (GstH264SliceHdr * slice,
dec_ref_pic_m->n_ref_pic_marking = 0;
while (1) {
- refpicmarking =
- &dec_ref_pic_m->ref_pic_marking[dec_ref_pic_m->n_ref_pic_marking];
-
READ_UE (nr, mem_mgmt_ctrl_op);
if (mem_mgmt_ctrl_op == 0)
break;
+ if (dec_ref_pic_m->n_ref_pic_marking >=
+ G_N_ELEMENTS (dec_ref_pic_m->ref_pic_marking))
+ goto error;
+
+ refpicmarking =
+ &dec_ref_pic_m->ref_pic_marking[dec_ref_pic_m->n_ref_pic_marking];
+
refpicmarking->memory_management_control_operation = mem_mgmt_ctrl_op;
if (mem_mgmt_ctrl_op == 1 || mem_mgmt_ctrl_op == 3)
--
GitLab

View File

@ -3,13 +3,14 @@
Name: gstreamer1-plugins-bad-free
Version: 1.16.2
Release: 1
Release: 2
Summary: Not well tested plugins for GStreamer framework
License: LGPLv2+ and LGPLv2
URL: http://gstreamer.freedesktop.org/
Source0: https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-%{version}.tar.xz
Patch0001: Adapt-to-backwards-incompatible-change-in-GNU-Make-4.3.patch
Patch0002: CVE-2021-3185.patch
BuildRequires: gstreamer1-devel >= %{version} gdb autoconf
BuildRequires: gstreamer1-plugins-base-devel >= %{version}
@ -262,6 +263,9 @@ EOF
%{_includedir}/gstreamer-%{majorminor}/gst/*
%changelog
* Mon Feb 08 2021 openEuler Buildteam <buildteam@openeuler.org> - 1.16.2-2
- fix CVE-2021-3185
* Thu Aug 06 2020 hanhui <hanhui15@huawei.com> - 1.16.2-1
- update to 1.16.2