CVE-2024-47597
CRITICALCVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
Lifecycle Timeline
3Description
GStreamer is a library for constructing graphs of media-handling components. An OOB-read has been detected in the function qtdemux_parse_samples within qtdemux.c. This issue arises when the function qtdemux_parse_samples reads data beyond the boundaries of the stream->stco buffer. The following code snippet shows the call to qt_atom_parser_get_offset_unchecked, which leads to the OOB-read when parsing the provided GHSL-2024-245_crash1.mp4 file. This issue may lead to read up to 8 bytes out-of-bounds. This vulnerability is fixed in 1.24.10.
Analysis
An out-of-bounds read vulnerability exists in GStreamer's MP4 demuxer that allows remote attackers to read up to 8 bytes beyond allocated memory boundaries when processing malformed MP4 files. The vulnerability affects all GStreamer versions prior to 1.24.10 and can be triggered without authentication by serving a malicious MP4 file, potentially exposing sensitive memory contents or causing application crashes. A proof-of-concept file (GHSL-2024-245_crash1.mp4) has been publicly disclosed, and while not currently in CISA's KEV catalog, the vulnerability has a critical CVSS score of 9.1.
Technical Context
GStreamer is a widely-used open-source multimedia framework library for constructing graphs of media-handling components, identified by CPE cpe:2.3:a:gstreamer:gstreamer:*:*:*:*:*:*:*:*. The vulnerability manifests as a CWE-125 (Out-of-bounds Read) in the qtdemux_parse_samples function within qtdemux.c, specifically when calling qt_atom_parser_get_offset_unchecked to parse Sample Table Chunk Offset (stco) atoms in MP4/QuickTime files. This buffer overflow occurs when the parser attempts to read offset data beyond the boundaries of the stream->stco buffer, a classic boundary checking failure that allows reading adjacent memory locations.
Affected Products
GStreamer versions prior to 1.24.10 are affected by this vulnerability, as identified by CPE cpe:2.3:a:gstreamer:gstreamer:*:*:*:*:*:*:*:*. The vulnerability impacts any application using GStreamer's qtdemux plugin for MP4/QuickTime file parsing, which includes numerous media players, streaming servers, and multimedia processing applications across Linux distributions. Debian has issued security updates as noted in their advisory at https://lists.debian.org/debian-lts-announce/2025/02/msg00035.html. The vendor security advisory is available at https://gstreamer.freedesktop.org/security/sa-2024-0012.html with additional technical details at https://securitylab.github.com/advisories/GHSL-2024-245_Gstreamer/.
Remediation
Upgrade GStreamer to version 1.24.10 or later, which contains the security fix available at https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8059.patch. For systems that cannot immediately upgrade, implement input validation to reject untrusted MP4 files or isolate media processing in sandboxed environments with restricted memory access. Organizations should review the vendor advisory at https://gstreamer.freedesktop.org/security/sa-2024-0012.html for distribution-specific patches and monitor https://lists.debian.org/debian-lts-announce/2025/02/msg00035.html for updates if using Debian-based systems.
Priority Score
Share
External POC / Exploit Code
Leaving vuln.today