CVE-2024-47606

CRITICAL
2024-12-12 [email protected]
9.8
CVSS 3.1
Share

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Analysis Generated
Mar 17, 2026 - 20:45 vuln.today
Patch Released
Mar 17, 2026 - 20:45 nvd
Patch available
CVE Published
Dec 12, 2024 - 02:03 nvd
CRITICAL 9.8

Description

GStreamer is a library for constructing graphs of media-handling components. An integer underflow has been detected in the function qtdemux_parse_theora_extension within qtdemux.c. The vulnerability occurs due to an underflow of the gint size variable, which causes size to hold a large unintended value when cast to an unsigned integer. This 32-bit negative value is then cast to a 64-bit unsigned integer (0xfffffffffffffffa) in a subsequent call to gst_buffer_new_and_alloc. The function gst_buffer_new_allocate then attempts to allocate memory, eventually calling _sysmem_new_block. The function _sysmem_new_block adds alignment and header size to the (unsigned) size, causing the overflow of the 'slice_size' variable. As a result, only 0x89 bytes are allocated, despite the large input size. When the following memcpy call occurs in gst_buffer_fill, the data from the input file will overwrite the content of the GstMapInfo info structure. Finally, during the call to gst_memory_unmap, the overwritten memory may cause a function pointer hijack, as the mem->allocator->mem_unmap_full function is called with a corrupted pointer. This function pointer overwrite could allow an attacker to alter the execution flow of the program, leading to arbitrary code execution. This vulnerability is fixed in 1.24.10.

Analysis

A critical integer underflow vulnerability in GStreamer's QuickTime demuxer (qtdemux) leads to memory corruption and arbitrary code execution when processing specially crafted media files. The vulnerability affects all GStreamer versions prior to 1.24.10, allowing remote attackers to execute arbitrary code without authentication by providing malicious media content. With a CVSS score of 9.8 and patches available, this represents a severe risk for applications using GStreamer for media processing.

Technical Context

GStreamer is a widely-used open-source multimedia framework for constructing media-handling pipelines, identified by CPE cpe:2.3:a:gstreamer:gstreamer. The vulnerability occurs in the qtdemux_parse_theora_extension function within qtdemux.c, where an integer underflow (CWE-190) causes a gint size variable to underflow to a large negative value. When this negative 32-bit value is cast to a 64-bit unsigned integer (0xfffffffffffffffa) during memory allocation, it triggers a chain of errors: the allocation size overflows during alignment calculations, resulting in only 0x89 bytes being allocated instead of the requested amount. This leads to a heap buffer overflow during subsequent memcpy operations, ultimately corrupting function pointers in the GstMapInfo structure that can be hijacked during memory unmapping operations.

Affected Products

GStreamer versions prior to 1.24.10 are vulnerable, as identified by CPE cpe:2.3:a:gstreamer:gstreamer:*:*:*:*:*:*:*:* with version constraints. Debian Linux 11.0 (Bullseye) is also affected according to CPE cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*, with security updates released in December 2024 and February 2025. NetApp has also issued an advisory (ntap-20250418-0003) indicating some of their products may be affected. The official GStreamer security advisory is available at https://gstreamer.freedesktop.org/security/sa-2024-0014.html.

Remediation

Upgrade GStreamer to version 1.24.10 or later, which contains the fix for this vulnerability. The patch is available at https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8032.patch. Debian users should apply the security updates referenced in debian-lts-announce messages from December 2024 and February 2025. Until patching is possible, avoid processing untrusted media files with GStreamer-based applications, particularly QuickTime format files containing Theora video streams. Organizations should review the vendor advisory at https://gstreamer.freedesktop.org/security/sa-2024-0014.html and the detailed analysis at https://securitylab.github.com/advisories/GHSL-2024-166_Gstreamer/ for additional context.

Priority Score

49
Low Medium High Critical
KEV: 0
EPSS: +0.2
CVSS: +49
POC: 0

Share

CVE-2024-47606 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy