Cloudanix VulnDB

CVE-2024-47537

Critical · 9.8

CVSS

9.8

EPSS

1.0%

Published

Dec 12, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in widely used media software can let attackers take over computers by sending specially crafted video or audio files.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Low
Impact
Full Compromise
Component
Library
Class
Buffer Overflow
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Integer overflow during reallocation of stream->samples buffer allows allocation of far fewer elements than requested, followed by an out-of-bounds write when writing samples_count QtDemuxSample structures.

Why it matters to the business

Remote attackers can achieve arbitrary code execution or denial of service in any application that uses GStreamer to process untrusted media files, risking full system compromise in media-handling pipelines or services.

How an attack unfolds

An attacker supplies a crafted media file containing an oversized samples_count value. When GStreamer parses the stream, the integer overflow causes g_try_renew to allocate insufficient memory; subsequent writes of samples_count elements then corrupt adjacent memory, enabling code execution.

How to fix it

Upgrade GStreamer to version 1.24.10 or apply commit 5be4b6f03689ab438822f6cfcd13f1f300afe203. Rebuild and redeploy any dependent applications after the update.

How to confirm the fix worked

Confirm the installed GStreamer version reports 1.24.10 or later; run regression tests with previously crashing sample files and verify that memory bounds checks now prevent the overflow condition.

Typical attack path

  1. Craft a media file with a samples_count value large enough to trigger integer overflow on addition
  2. Deliver the file to a vulnerable GStreamer-based application or service
  3. Trigger parsing of the malicious stream
  4. Leverage the resulting out-of-bounds write to achieve code execution or crash the process

How to detect it

Review application logs and crash dumps for GStreamer processes that terminate while parsing media streams; correlate with file-handling activity involving untrusted input.

What your security team should do

  • Immediately update all GStreamer installations to the fixed version
  • Inventory and replace any statically linked or vendored copies of the library
  • Add GStreamer version checks to build and deployment pipelines
  • Monitor for new media-processing crash reports as a potential exploitation signal

The record

GStreamer is a library for constructing graphs of media-handling components. The program attempts to reallocate the memory pointed to by stream->samples to accommodate stream->n_samples + samples_count elements of type QtDemuxSample. The problem is that samples_count is read from the input file. And if this value is big enough, this can lead to an integer overflow during the addition. As a consequence, g_try_renew might allocate memory for a significantly smaller number of elements than intended. Following this, the program iterates through samples_count elements and attempts to write samples_count number of elements, potentially exceeding the actual allocated memory size and causing an OOB-write. This vulnerability is fixed in 1.24.10.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 gstreamer1-plugins-good 0 1.16.1-5.el8_10
AlmaLinux:8 gstreamer1-plugins-good-gtk 0 1.16.1-5.el8_10
AlmaLinux:9 gstreamer1-plugins-good 0 1.22.1-3.el9_5
AlmaLinux:9 gstreamer1-plugins-good-gtk 0 1.22.1-3.el9_5
Debian:11 gst-plugins-good1.0 0 No fix
Debian:11 gst-plugins-good1.0 0 1.18.4-2+deb11u3
Debian:12 gst-plugins-good1.0 0 1.22.0-5+deb12u2
Debian:13 gst-plugins-good1.0 0 1.24.10-1
Debian:14 gst-plugins-good1.0 0 1.24.10-1
Mageia:9 gstreamer1.0 0 1.22.11-1.1.mga9
Mageia:9 gstreamer1.0-plugins-base 0 1.22.11-1.2.mga9
Mageia:9 gstreamer1.0-plugins-good 0 1.22.11-1.1.mga9
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-good 0 0:1.16.1-5.el8_10
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-good-debuginfo 0 0:1.16.1-5.el8_10
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-good-debugsource 0 0:1.16.1-5.el8_10
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-good-gtk 0 0:1.16.1-5.el8_10
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.16.1-5.el8_10
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-good 0 0:1.22.1-3.el9_5
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-good-debuginfo 0 0:1.22.1-3.el9_5
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-good-debugsource 0 0:1.22.1-3.el9_5
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-good-gtk 0 0:1.22.1-3.el9_5
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.22.1-3.el9_5
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-good-qt-debuginfo 0 0:1.22.1-3.el9_5
Red Hat:rhel_aus:8.2::appstream gstreamer1-plugins-good 0 0:1.16.1-2.el8_2
Red Hat:rhel_aus:8.2::appstream gstreamer1-plugins-good-debuginfo 0 0:1.16.1-2.el8_2
Red Hat:rhel_aus:8.2::appstream gstreamer1-plugins-good-debugsource 0 0:1.16.1-2.el8_2
Red Hat:rhel_aus:8.2::appstream gstreamer1-plugins-good-gtk 0 0:1.16.1-2.el8_2
Red Hat:rhel_aus:8.2::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.16.1-2.el8_2
Red Hat:rhel_aus:8.4::appstream gstreamer1-plugins-good 0 0:1.16.1-3.el8_4
Red Hat:rhel_aus:8.4::appstream gstreamer1-plugins-good-debuginfo 0 0:1.16.1-3.el8_4
Red Hat:rhel_aus:8.4::appstream gstreamer1-plugins-good-debugsource 0 0:1.16.1-3.el8_4
Red Hat:rhel_aus:8.4::appstream gstreamer1-plugins-good-gtk 0 0:1.16.1-3.el8_4
Red Hat:rhel_aus:8.4::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.16.1-3.el8_4
Red Hat:rhel_aus:8.6::appstream gstreamer1-plugins-good 0 0:1.16.1-3.el8_6
Red Hat:rhel_aus:8.6::appstream gstreamer1-plugins-good-debuginfo 0 0:1.16.1-3.el8_6
Red Hat:rhel_aus:8.6::appstream gstreamer1-plugins-good-debugsource 0 0:1.16.1-3.el8_6
Red Hat:rhel_aus:8.6::appstream gstreamer1-plugins-good-gtk 0 0:1.16.1-3.el8_6
Red Hat:rhel_aus:8.6::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.16.1-3.el8_6
Red Hat:rhel_e4s:8.4::appstream gstreamer1-plugins-good 0 0:1.16.1-3.el8_4
Red Hat:rhel_e4s:8.4::appstream gstreamer1-plugins-good-debuginfo 0 0:1.16.1-3.el8_4
Red Hat:rhel_e4s:8.4::appstream gstreamer1-plugins-good-debugsource 0 0:1.16.1-3.el8_4
Red Hat:rhel_e4s:8.4::appstream gstreamer1-plugins-good-gtk 0 0:1.16.1-3.el8_4
Red Hat:rhel_e4s:8.4::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.16.1-3.el8_4
Red Hat:rhel_e4s:8.6::appstream gstreamer1-plugins-good 0 0:1.16.1-3.el8_6
Red Hat:rhel_e4s:8.6::appstream gstreamer1-plugins-good-debuginfo 0 0:1.16.1-3.el8_6
Red Hat:rhel_e4s:8.6::appstream gstreamer1-plugins-good-debugsource 0 0:1.16.1-3.el8_6
Red Hat:rhel_e4s:8.6::appstream gstreamer1-plugins-good-gtk 0 0:1.16.1-3.el8_6
Red Hat:rhel_e4s:8.6::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.16.1-3.el8_6
Red Hat:rhel_e4s:9.0::appstream gstreamer1-plugins-good 0 0:1.18.4-6.el9_0
Red Hat:rhel_e4s:9.0::appstream gstreamer1-plugins-good-debuginfo 0 0:1.18.4-6.el9_0
Red Hat:rhel_e4s:9.0::appstream gstreamer1-plugins-good-debugsource 0 0:1.18.4-6.el9_0
Red Hat:rhel_e4s:9.0::appstream gstreamer1-plugins-good-gtk 0 0:1.18.4-6.el9_0
Red Hat:rhel_e4s:9.0::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.18.4-6.el9_0
Red Hat:rhel_e4s:9.0::appstream gstreamer1-plugins-good-qt-debuginfo 0 0:1.18.4-6.el9_0
Red Hat:rhel_els:7 gstreamer1-plugins-base 0 0:1.10.4-3.el7_9
Red Hat:rhel_els:7 gstreamer1-plugins-base-debuginfo 0 0:1.10.4-3.el7_9
Red Hat:rhel_els:7 gstreamer1-plugins-base-devel 0 0:1.10.4-3.el7_9
Red Hat:rhel_els:7 gstreamer1-plugins-base-devel-docs 0 0:1.10.4-3.el7_9
Red Hat:rhel_els:7 gstreamer1-plugins-base-tools 0 0:1.10.4-3.el7_9
Red Hat:rhel_els:7 gstreamer1-plugins-good 0 0:1.10.4-3.el7_9
Red Hat:rhel_els:7 gstreamer1-plugins-good-debuginfo 0 0:1.10.4-3.el7_9
Red Hat:rhel_eus:8.8::appstream gstreamer1-plugins-good 0 0:1.16.1-4.el8_8
Red Hat:rhel_eus:8.8::appstream gstreamer1-plugins-good-debuginfo 0 0:1.16.1-4.el8_8
Red Hat:rhel_eus:8.8::appstream gstreamer1-plugins-good-debugsource 0 0:1.16.1-4.el8_8
Red Hat:rhel_eus:8.8::appstream gstreamer1-plugins-good-gtk 0 0:1.16.1-4.el8_8
Red Hat:rhel_eus:8.8::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.16.1-4.el8_8
Red Hat:rhel_eus:9.2::appstream gstreamer1-plugins-good 0 0:1.18.4-7.el9_2
Red Hat:rhel_eus:9.2::appstream gstreamer1-plugins-good-debuginfo 0 0:1.18.4-7.el9_2
Red Hat:rhel_eus:9.2::appstream gstreamer1-plugins-good-debugsource 0 0:1.18.4-7.el9_2
Red Hat:rhel_eus:9.2::appstream gstreamer1-plugins-good-gtk 0 0:1.18.4-7.el9_2
Red Hat:rhel_eus:9.2::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.18.4-7.el9_2
Red Hat:rhel_eus:9.2::appstream gstreamer1-plugins-good-qt-debuginfo 0 0:1.18.4-7.el9_2
Red Hat:rhel_eus:9.4::appstream gstreamer1-plugins-good 0 0:1.22.1-3.el9_4
Red Hat:rhel_eus:9.4::appstream gstreamer1-plugins-good-debuginfo 0 0:1.22.1-3.el9_4
Red Hat:rhel_eus:9.4::appstream gstreamer1-plugins-good-debugsource 0 0:1.22.1-3.el9_4
Red Hat:rhel_eus:9.4::appstream gstreamer1-plugins-good-gtk 0 0:1.22.1-3.el9_4
Red Hat:rhel_eus:9.4::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.22.1-3.el9_4
Red Hat:rhel_eus:9.4::appstream gstreamer1-plugins-good-qt-debuginfo 0 0:1.22.1-3.el9_4
Red Hat:rhel_tus:8.4::appstream gstreamer1-plugins-good 0 0:1.16.1-3.el8_4
Red Hat:rhel_tus:8.4::appstream gstreamer1-plugins-good-debuginfo 0 0:1.16.1-3.el8_4
Red Hat:rhel_tus:8.4::appstream gstreamer1-plugins-good-debugsource 0 0:1.16.1-3.el8_4
Red Hat:rhel_tus:8.4::appstream gstreamer1-plugins-good-gtk 0 0:1.16.1-3.el8_4
Red Hat:rhel_tus:8.4::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.16.1-3.el8_4
Red Hat:rhel_tus:8.6::appstream gstreamer1-plugins-good 0 0:1.16.1-3.el8_6
Red Hat:rhel_tus:8.6::appstream gstreamer1-plugins-good-debuginfo 0 0:1.16.1-3.el8_6
Red Hat:rhel_tus:8.6::appstream gstreamer1-plugins-good-debugsource 0 0:1.16.1-3.el8_6
Red Hat:rhel_tus:8.6::appstream gstreamer1-plugins-good-gtk 0 0:1.16.1-3.el8_6
Red Hat:rhel_tus:8.6::appstream gstreamer1-plugins-good-gtk-debuginfo 0 0:1.16.1-3.el8_6
Rocky Linux:8 gstreamer1-plugins-good 0 0:1.16.1-5.el8_10
Rocky Linux:9 gstreamer1-plugins-good 0 0:1.22.1-3.el9_5
SUSE:Enterprise Storage 7.1 gstreamer-plugins-good 0 1.16.3-150200.3.17.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS gstreamer-plugins-good 0 1.16.3-150200.3.17.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS gstreamer-plugins-good 0 1.20.1-150400.3.9.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS gstreamer-plugins-good 0 1.20.1-150400.3.9.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS gstreamer-plugins-good 0 1.22.0-150500.4.6.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS gstreamer-plugins-good 0 1.22.0-150500.4.6.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 gstreamer-plugins-good 0 1.24.0-150600.3.3.1
SUSE:Linux Enterprise Server 12 SP5-LTSS gstreamer-plugins-good 0 1.8.3-16.12.1
SUSE:Linux Enterprise Server 15 SP3-LTSS gstreamer-plugins-good 0 1.16.3-150200.3.17.1
SUSE:Linux Enterprise Server 15 SP4-LTSS gstreamer-plugins-good 0 1.20.1-150400.3.9.1
SUSE:Linux Enterprise Server 15 SP5-LTSS gstreamer-plugins-good 0 1.22.0-150500.4.6.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 gstreamer-plugins-good 0 1.8.3-16.12.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 gstreamer-plugins-good 0 1.16.3-150200.3.17.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 gstreamer-plugins-good 0 1.20.1-150400.3.9.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 gstreamer-plugins-good 0 1.22.0-150500.4.6.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 gstreamer-plugins-good 0 1.24.0-150600.3.3.1
SUSE:Manager Proxy 4.3 gstreamer-plugins-good 0 1.20.1-150400.3.9.1
SUSE:Manager Server 4.3 gstreamer-plugins-good 0 1.20.1-150400.3.9.1
Ubuntu:16.04:LTS gst-plugins-good0.10 0 No fix
Ubuntu:20.04:LTS gst-plugins-good1.0 0 1.16.3-0ubuntu1.3
Ubuntu:22.04:LTS gst-plugins-good1.0 0 1.20.3-0ubuntu1.3
Ubuntu:24.04:LTS gst-plugins-good1.0 0 1.24.2-1ubuntu1.1
Ubuntu:24.10 gst-plugins-good1.0 0 1.24.8-1ubuntu1.1
Ubuntu:Pro:16.04:LTS gst-plugins-good0.10 0 No fix
Ubuntu:Pro:16.04:LTS gst-plugins-good1.0 0 No fix
Ubuntu:Pro:18.04:LTS gst-plugins-good1.0 0 No fix
openSUSE:Leap 15.6 gstreamer-plugins-good 0 1.24.0-150600.3.3.1
openSUSE:Tumbleweed gstreamer-plugins-good 0 1.24.10-2.1

Related vulnerabilities