Cloudanix VulnDB

CVE-2024-47600

Critical · 9.1

CVSS

9.1

EPSS

1.1%

Published

Dec 12, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in media software can let attackers read extra memory or crash programs when handling certain audio files with many channels.

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

What it actually does

Out-of-bounds read in format_channel_mask when gst_discoverer_audio_info_get_channels returns a channels value exceeding the fixed 64-element position array, allowing reads beyond stack bounds and subsequent dereference of value->value_nick that can cause memory corruption or undefined behavior.

Why it matters to the business

Applications using GStreamer for media discovery may crash or leak stack memory when processing audio streams with more than 64 channels, potentially disrupting media pipelines and exposing sensitive data in affected environments.

How an attack unfolds

An attacker supplies a media file or stream containing audio information that reports more than 64 channels; when gst-discoverer processes it, format_channel_mask iterates past the array bounds, reading unintended stack data and potentially triggering further corruption via the nick dereference.

How to fix it

Upgrade gstreamer/gstreamer to the fixed commit 5be4b6f03689ab438822f6cfcd13f1f300afe203 or later release containing the patch; rebuild and redeploy any dependent applications.

How to confirm the fix worked

Confirm the installed GStreamer source or binary includes commit 5be4b6f03689ab438822f6cfcd13f1f300afe203; test with audio streams reporting >64 channels and verify no OOB access or crashes occur.

Typical attack path

  1. Craft or obtain media content with audio channel count greater than 64
  2. Trigger gst-discoverer or dependent tool on the malicious media
  3. format_channel_mask performs OOB array access during channel mask formatting
  4. Read unintended stack bytes and dereference value->value_nick causing corruption or crash

How to detect it

Review logs from media discovery or GStreamer processes for segmentation faults or abnormal memory access patterns around gst-discoverer; inspect core dumps for stack reads near format_channel_mask.

What your security team should do

  • Apply the upstream fix commit immediately in all build pipelines
  • Scan for and replace any statically linked or vendored GStreamer versions older than the patched commit
  • Monitor media-processing services for unexpected crashes or memory errors until patched

The record

GStreamer is a library for constructing graphs of media-handling components. An OOB-read vulnerability has been detected in the format_channel_mask function in gst-discoverer.c. The vulnerability affects the local array position, which is defined with a fixed size of 64 elements. However, the function gst_discoverer_audio_info_get_channels may return a guint channels value greater than 64. This causes the for loop to attempt access beyond the bounds of the position array, resulting in an OOB-read when an index greater than 63 is used. This vulnerability can result in reading unintended bytes from the stack. Additionally, the dereference of value->value_nick after the OOB-read can lead to further memory corruption or undefined behavior. This vulnerability is fixed in 1.24.10.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:9 gstreamer1-plugins-base 0 1.22.12-4.el9
AlmaLinux:9 gstreamer1-plugins-base-devel 0 1.22.12-4.el9
AlmaLinux:9 gstreamer1-plugins-base-tools 0 1.22.12-4.el9
Alpine:v3.20 gst-plugins-base 0 1.24.10-r0
Alpine:v3.21 gst-plugins-base 0 1.24.10-r0
Alpine:v3.22 gst-plugins-base 0 1.24.10-r0
Debian:11 gst-plugins-base1.0 0 1.18.4-2+deb11u3
Debian:12 gst-plugins-base1.0 0 1.22.0-3+deb12u3
Debian:13 gst-plugins-base1.0 0 1.24.10-1
Debian:14 gst-plugins-base1.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-base 0 1.20.1-150400.3.11.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS gstreamer-plugins-base 0 1.20.1-150400.3.11.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS gstreamer-plugins-base 0 1.22.0-150500.3.11.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS gstreamer-plugins-base 0 1.22.0-150500.3.11.1
SUSE:Linux Enterprise Micro 5.3 gstreamer-plugins-base 0 1.20.1-150400.3.11.1
SUSE:Linux Enterprise Micro 5.4 gstreamer-plugins-base 0 1.20.1-150400.3.11.1
SUSE:Linux Enterprise Micro 5.5 gstreamer-plugins-base 0 1.22.0-150500.3.11.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 gstreamer-plugins-base 0 1.24.0-150600.3.8.1
SUSE:Linux Enterprise Module for Package Hub 15 SP6 gstreamer-plugins-base 0 1.24.0-150600.3.8.1
SUSE:Linux Enterprise Server 15 SP4-LTSS gstreamer-plugins-base 0 1.20.1-150400.3.11.1
SUSE:Linux Enterprise Server 15 SP5-LTSS gstreamer-plugins-base 0 1.22.0-150500.3.11.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 gstreamer-plugins-base 0 1.20.1-150400.3.11.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 gstreamer-plugins-base 0 1.22.0-150500.3.11.1
SUSE:Manager Proxy 4.3 gstreamer-plugins-base 0 1.20.1-150400.3.11.1
SUSE:Manager Server 4.3 gstreamer-plugins-base 0 1.20.1-150400.3.11.1
Ubuntu:16.04:LTS gst-plugins-base0.10 0 No fix
Ubuntu:20.04:LTS gst-plugins-base1.0 0 1.16.3-0ubuntu1.4
Ubuntu:22.04:LTS gst-plugins-base1.0 0 1.20.1-1ubuntu0.4
Ubuntu:24.04:LTS gst-plugins-base1.0 0 1.24.2-1ubuntu0.2
Ubuntu:24.10 gst-plugins-base1.0 0 1.24.8-1ubuntu0.1
Ubuntu:Pro:16.04:LTS gst-plugins-base0.10 0 No fix
Ubuntu:Pro:16.04:LTS gst-plugins-base1.0 0 No fix
Ubuntu:Pro:18.04:LTS gst-plugins-base1.0 0 No fix
Ubuntu:Pro:18.04:LTS gst-plugins-base1.0 0 1.14.5-0ubuntu1~18.04.3+esm1
openSUSE:Leap 15.6 gstreamer-plugins-base 0 1.24.0-150600.3.8.1
openSUSE:Tumbleweed gstreamer-plugins-base 0 1.24.10-2.1

Related vulnerabilities