GStreamer libgstvideo heap buffer overflow (CVE-2026-86476)
A heap buffer overflow in GStreamer's libgstvideo via untrusted unixfd deserialization allows remote attackers to trigger out-of-bounds memory access, potentially leading to code execution.
CVE search metadata
CVE search record: CVE-2026-86476. Severity: high. CVSS: 8.4. EPSS: 0.21%. KEV: no. Product: libgstvideo (GStreamer 1.28.4 and earlier). Brief: GStreamer libgstvideo heap buffer overflow (CVE-2026-86476). Brief link: https://feed.craftedsignal.io/briefs/2026-10-gstreamer-heap-overflow/
Triage facts
Revision 1- Applicability
- libgstvideo (GStreamer 1.28.4 and earlier)
- Evidence
- Unknown
- Severity
- High
- Action
- Elevated
- Sources
- 3 public sources
- Freshness
- Revision 1Oct 23, 06:43 UTC
- Vulnerabilities
- 1 CVE
- Source quality
- B2Likely
A heap buffer overflow vulnerability exists in the GStreamer libgstvideo component (specifically within gst-plugins-base), identified as CVE-2026-86476. The vulnerability stems from insufficient validation of GstVideoMeta structures when deserialized from untrusted unixfd peers. Attackers can provide fabricated plane strides within the metadata, leading to out-of-bounds reads and writes during frame processing. Proof-of-concept code demonstrates that these primitives can be used for information disclosure or heap-based remote code execution by overwriting function pointers.
Attack Chain
- An attacker establishes a connection with a target process over a
unixfdtransport. - The attacker sends a serialized
GstVideoMetastructure containing intentionally oversized or negative plane strides. - The target receiver deserializes the malicious meta-data without performing range checks against the backing buffer size.
- The target process maps the frame, with
default_map()failing to validate the geometry against the actual memory allocation. - During subsequent processing (e.g., in
videoconvert), the system performsmemcpyor ORC kernel operations based on the attacker-controlled strides. - Memory operations occur outside the buffer boundaries, resulting in either a crash (read) or corruption of adjacent heap objects (write).
- The attacker leverages the write primitive to overwrite function pointers in a neighbouring
GstMiniObject. - The application is triggered to call the corrupted pointer, redirecting control flow to attacker-supplied logic (e.g.,
system()).
Impact
Confirmed impact includes out-of-bounds information disclosure and heap-based memory corruption. Demonstrations indicate potential for arbitrary code execution in pipelines that accept video buffers over unixfd from untrusted sources, particularly sandboxed decoders or portal-style privilege-boundary pipelines.
Recommendation
- Inventory systems utilizing GStreamer
unixfdsrcelements, specifically those handling media frames across process or privilege boundaries. - Apply security patches to GStreamer and dependent projects as soon as vendors release updates addressing the three validation points identified in the advisory: plane extent checks in
default_map(), validation in the meta branch ofgst_video_frame_map_id(), and range checks invideo_meta_deserialize(). - Isolate media processing pipelines that consume data from untrusted sources to minimize the impact of potential memory corruption.
Immediate actions
Inventory systems utilizing GStreamer unixfdsrc for inter-process communication
Mitigations
Upgrade or patch GStreamer to a version that implements bounds checking in default_map and video_meta_deserialize
CVE-2026-86476