GStreamer
open source multimedia framework
Home
Features
News
Annual Conference
Planet (Blogs)
Download
Applications
Security Center
GitLab
Developers
Documentation
Forum
File a Bug
Artwork
Follow us on Bluesky
Follow us on Mastodon
Chat with us on Matrix

Security Advisory 2026-0065

Summary Integer overflow in Matroska LZO1X decompressor
Date 2026-07-08
Affected Versions GStreamer gst-plugins-good < 1.28.5
IDs GStreamer-SA-2026-0065

Details

An integer overflow vulnerability in the vendored LZO1X decompressor used by the Matroska (MKV/WebM) demuxer in gst-plugins-good. The decompressor accumulates run lengths from the compressed stream into a signed 32-bit integer without bounding the value. A compressed stream containing a sufficiently long sequence of zero bytes (approximately 8.4 million or more) causes the accumulator to overflow past the maximum representable value into a negative value. This negative length is then passed to the internal copy functions, where bounds checks comparing the signed integer against unsigned buffer offsets fail to trigger. The negative value is implicitly converted to a very large unsigned value during the memory copy operation, resulting in a heap buffer overflow writing well past the decompression output buffer.

The vulnerability affects Matroska and WebM files with tracks using LZO1X compression. This is related to CVE-2014-4610 in FFmpeg, which addressed the same issue in the upstream LZO1X decoder. GStreamer's vendored copy of the decoder was never updated with this fix. A previous advisory (SA-2022-0002, CVE-2022-1924) addressed size accounting around the decompressor but did not fix the integer overflow in the length decoding logic.

Impact

A malicious third party could trigger a heap buffer overflow by providing a crafted Matroska or WebM file with LZO1X-compressed data. Since the Matroska demuxer is auto-plugged by playbin, decodebin, and gst-discoverer pipelines, merely opening or previewing such a file is sufficient to trigger the vulnerability. This could result in application crash, denial of service, data corruption, or arbitrary code execution.

Solution

The gst-plugins-good 1.28.5 release addresses the issue. People using older versions of GStreamer should apply the patch and recompile.

References

The GStreamer project

CVE Database Entries

  • No CVE number assigned or pending

GStreamer 1.28.5 release

Patches


Report a problem on this page.