Skip to content
Threat Feed
high advisory

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

  1. An attacker establishes a connection with a target process over a unixfd transport.
  2. The attacker sends a serialized GstVideoMeta structure containing intentionally oversized or negative plane strides.
  3. The target receiver deserializes the malicious meta-data without performing range checks against the backing buffer size.
  4. The target process maps the frame, with default_map() failing to validate the geometry against the actual memory allocation.
  5. During subsequent processing (e.g., in videoconvert), the system performs memcpy or ORC kernel operations based on the attacker-controlled strides.
  6. Memory operations occur outside the buffer boundaries, resulting in either a crash (read) or corruption of adjacent heap objects (write).
  7. The attacker leverages the write primitive to overwrite function pointers in a neighbouring GstMiniObject.
  8. 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 unixfdsrc elements, 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 of gst_video_frame_map_id(), and range checks in video_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

Security Engineering 48h

Mitigations

Upgrade or patch GStreamer to a version that implements bounds checking in default_map and video_meta_deserialize

immediate IT Operations

CVE-2026-86476