Cloudanix VulnDB

CVE-2024-47598

Critical · 9.1

CVSS

9.1

EPSS

0.9%

Published

Dec 12, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in media software lets it read a little past the end of its own memory when handling certain video files, which can make programs crash or act strangely.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Low
Impact
Data Tampering
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Out-of-bounds read of up to 4 bytes in qtdemux_merge_sample_table when parsing the stts sample table in MP4/QT containers, caused by missing bounds check on stts->data before accessing stts_duration.

Why it matters to the business

Applications using GStreamer to process untrusted media files may crash or behave unexpectedly, leading to denial of service in media pipelines, playback services, or content ingestion systems; high prevalence in multimedia software increases exposure across desktop, server, and embedded environments.

How an attack unfolds

An attacker crafts a malicious MP4 file containing a malformed stts atom with an undersized buffer, then causes a target application to open and parse the file with GStreamer; qtdemux_merge_sample_table reads 4 bytes past the allocated stts buffer, potentially triggering crashes or limited information disclosure depending on memory layout.

How to fix it

Upgrade GStreamer to version 1.24.10 or later; apply commit 5be4b6f03689ab438822f6cfcd13f1f300afe203 in GIT builds; rebuild and redeploy any dependent applications or containers after updating the library.

How to confirm the fix worked

Confirm the installed GStreamer version is 1.24.10 or newer; test parsing of known-malformed test files that previously triggered the OOB read; verify the qtdemux.c source contains the bounds check added in the referenced commit.

Typical attack path

  1. Attacker creates specially crafted MP4/QT file with invalid stts sample table size
  2. Victim or automated system opens or streams the malicious file using a GStreamer-based application
  3. qtdemux parses the stts atom and calls qtdemux_merge_sample_table without proper bounds validation
  4. Four bytes are read beyond the stts->data allocation, causing memory corruption effects

How to detect it

Review application logs and crash reports for segmentation faults or memory errors during MP4/QT demuxing; search process memory dumps or core files for evidence of stts table processing anomalies; no public exploitation artifacts are known at this time.

What your security team should do

  • Immediately update all GStreamer installations to 1.24.10 or the patched GIT commit
  • Scan media ingestion and playback services for use of vulnerable GStreamer versions
  • Add media file sanitization or sandboxing for untrusted content until patches are applied
  • Monitor EPSS and exploit maturity indicators for any increase in observed activity

The record

GStreamer is a library for constructing graphs of media-handling components. An OOB-read vulnerability has been discovered in the qtdemux_merge_sample_table function within qtdemux.c. The problem is that the size of the stts buffer isn’t properly checked before reading stts_duration, allowing the program to read 4 bytes beyond the boundaries of stts->data. This vulnerability reads up to 4 bytes past the allocated bounds of the stts array. This vulnerability is fixed in 1.24.10.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:9 gstreamer1-plugins-good 0 1.22.12-4.el9
AlmaLinux:9 gstreamer1-plugins-good-gtk 0 1.22.12-4.el9
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
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 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 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