Fix CVE-2026-73433: out-of-bounds reads in AVI FUJIFILM strd parsing
Backport upstream commit bb8fb5a9bf15fb845863430281e4bf908aec7090
to fix CVE-2026-73433. The patch adds bounds checks in
gst_avi_demux_parse_strd() to prevent buffer underflows when
parsing FUJIFILM metadata in AVI files, ensuring sufficient
data is available before memory access and correcting loop
condition ordering.
CVE: CVE-2026-73433
Upstream patches:
- bb8fb5a9bf.patch
Resolves: RHEL-239066
This commit was backported by Ymir, a Red Hat Enterprise Linux software maintenance AI agent.
Assisted-by: Ymir
This commit is contained in:
parent
67028be52b
commit
81bea5fd9a
66
gstreamer1-plugins-good-1.22.12-CVE-2026-73433.patch
Normal file
66
gstreamer1-plugins-good-1.22.12-CVE-2026-73433.patch
Normal file
@ -0,0 +1,66 @@
|
||||
From 4bf12dcb5c2722e35e4a5c4f70a94cb833b72ed6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
|
||||
Date: Tue, 14 Jul 2026 12:00:34 +0300
|
||||
Subject: [PATCH] avidemux: Make sure enough data is available when parsing
|
||||
FUJIFILM strd
|
||||
|
||||
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5213
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12231>
|
||||
---
|
||||
.../gst-plugins-good/gst/avi/gstavidemux.c | 23 +++++++++++--------
|
||||
1 file changed, 13 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/subprojects/gst-plugins-good/gst/avi/gstavidemux.c b/subprojects/gst-plugins-good/gst/avi/gstavidemux.c
|
||||
index 0d18a6495c..5d7ed2edd6 100644
|
||||
--- a/subprojects/gst-plugins-good/gst/avi/gstavidemux.c
|
||||
+++ b/subprojects/gst-plugins-good/gst/avi/gstavidemux.c
|
||||
@@ -3828,13 +3828,13 @@ gst_avi_demux_parse_strd (GstAviDemux * avi, GstBuffer * buf)
|
||||
|
||||
ptr += 98;
|
||||
left -= 98;
|
||||
- if (!memcmp (ptr, "FUJIFILM", 8)) {
|
||||
+ if (left >= 10 && !memcmp (ptr, "FUJIFILM", 8)) {
|
||||
GST_MEMDUMP_OBJECT (avi, "fujifim tag", ptr, 48);
|
||||
|
||||
ptr += 10;
|
||||
left -= 10;
|
||||
sub_size = 0;
|
||||
- while (ptr[sub_size] && sub_size < left)
|
||||
+ while (sub_size < left && ptr[sub_size])
|
||||
sub_size++;
|
||||
|
||||
if (avi->globaltags == NULL)
|
||||
@@ -3845,21 +3845,24 @@ gst_avi_demux_parse_strd (GstAviDemux * avi, GstBuffer * buf)
|
||||
parse_tag_value (avi, avi->globaltags, GST_TAG_DEVICE_MODEL, ptr,
|
||||
sub_size);
|
||||
|
||||
- while (ptr[sub_size] == '\0' && sub_size < left)
|
||||
+ while (sub_size < left && ptr[sub_size] == '\0')
|
||||
sub_size++;
|
||||
|
||||
ptr += sub_size;
|
||||
left -= sub_size;
|
||||
sub_size = 0;
|
||||
- while (ptr[sub_size] && sub_size < left)
|
||||
+ while (sub_size < left && ptr[sub_size])
|
||||
sub_size++;
|
||||
- if (ptr[4] == ':')
|
||||
- ptr[4] = '-';
|
||||
- if (ptr[7] == ':')
|
||||
- ptr[7] = '-';
|
||||
|
||||
- parse_tag_value (avi, avi->globaltags, GST_TAG_DATE_TIME, ptr,
|
||||
- sub_size);
|
||||
+ if (sub_size >= 8) {
|
||||
+ if (ptr[4] == ':')
|
||||
+ ptr[4] = '-';
|
||||
+ if (ptr[7] == ':')
|
||||
+ ptr[7] = '-';
|
||||
+
|
||||
+ parse_tag_value (avi, avi->globaltags, GST_TAG_DATE_TIME, ptr,
|
||||
+ sub_size);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -28,7 +28,7 @@
|
||||
|
||||
Name: gstreamer1-plugins-good
|
||||
Version: 1.22.12
|
||||
Release: 9%{?dist}
|
||||
Release: 10%{?dist}
|
||||
Summary: GStreamer plugins with good code and licensing
|
||||
|
||||
License: CC0-1.0 AND GPL-2.0-only AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND xlock AND MIT AND BSD-3-Clause AND CC-BY-3.0
|
||||
@ -83,6 +83,9 @@ Patch0030: gstreamer1-plugins-good-1.22.12-CVE-2026-53705.patch
|
||||
# https://issues.redhat.com/browse/RHEL-224165
|
||||
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12234
|
||||
Patch0031: gstreamer1-plugins-good-1.22.12-CVE-2026-18649.patch
|
||||
# https://issues.redhat.com/browse/RHEL-239066
|
||||
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/bb8fb5a9bf15fb845863430281e4bf908aec7090
|
||||
Patch0032: gstreamer1-plugins-good-1.22.12-CVE-2026-73433.patch
|
||||
|
||||
BuildRequires: meson >= 0.48.0
|
||||
BuildRequires: gcc
|
||||
@ -273,6 +276,7 @@ to be installed.
|
||||
%patch -P 0029 -p3
|
||||
%patch -P 0030 -p3
|
||||
%patch -P 0031 -p3
|
||||
%patch -P 0032 -p3
|
||||
|
||||
%build
|
||||
%meson \
|
||||
@ -423,6 +427,10 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Aug 17 2026 RHEL Packaging Agent <redhat-ymir-agent@redhat.com> - 1.22.12-10
|
||||
- Fix out-of-bounds reads in AVI FUJIFILM strd parsing
|
||||
(CVE-2026-73433)
|
||||
|
||||
* Tue Aug 11 2026 RHEL Packaging Agent <redhat-ymir-agent@redhat.com> - 1.22.12-9
|
||||
- Limit maximum fragmentation unit size in RTP H264/H265
|
||||
depayloaders to prevent excessive memory usage
|
||||
|
||||
Loading…
Reference in New Issue
Block a user