Bug 2565937 (CVE-2026-121611)

Summary: CVE-2026-121611 gstreamer1-plugins-bad-free: gst-plugins-bad: use of uninitialized GstH265HRDParams in gst_h265_parse_vps() multi-HRD workaround loop
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: rhel-process-autobot, security-response-team, watson-tool-maintainers
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in GStreamer's gst-plugins-bad package. A use of uninitialized memory vulnerability exists in the H.265 (HEVC) bitstream parser when processing Video Parameter Sets that declare more than one HRD (Hypothetical Reference Decoder) parameter set. A remote attacker could exploit this by providing a crafted H.265 media file or stream that, when processed by an application using GStreamer, causes unpredictable parser behavior and may crash the application. This can lead to a denial of service for any application using GStreamer to play back H.265 content.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2569065, 2569067, 2569069, 2569071, 2569073, 2569074, 2569083, 2569084    
Bug Blocks:    

Description OSIDB Bzimport 2026-11-03 16:36:19 UTC
gst-plugins-bad (GstCodecparsers library) contains a use-of-uninitialized-variable (CWE-457) in gst_h265_parse_vps() in gst-libs/gst/codecparsers/gsth265parser.c. When a VPS NAL unit declares more than one HRD parameter set (vps_num_hrd_parameters >= 2), the workaround loop at lines 2152-2165 processes each extra set (i >= 1) into a local GstH265HRDParams hrd_params variable declared at line 2155 that is never zero-initialized before being passed to gst_h265_parse_hrd_parameters(). That function sets only three fields to defaults and leaves all other fields as stack garbage, which steers further parsing (including gst_h265_parse_sub_layer_hrd_parameters() at line 439). Bug introduced in upstream GStreamer 1.16.0 (commit 52f2054386). Fix targeted for upstream 1.28.9 (not yet merged as of 2026-10-30; private gstreamer-security MR !132). GStreamer security advisory SA-2026-0094. PSIRT support ticket PSIRTSUPT-29600. Reporter: Sebastian Dröge, Centricular Ltd.