Cloudanix VulnDB

CVE-2024-47615

Critical · 9.8

CVSS

9.8

EPSS

1.1%

Published

Dec 12, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in a widely used media library lets specially crafted audio files damage memory inside programs that play or process sound, which could let attackers take over those programs.

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 write in gst_parse_vorbis_setup_packet where an unvalidated integer size from the input exceeds the 256-element vorbis_mode_sizes array, causing a loop to overwrite the containing pad structure and up to 380 bytes of adjacent memory with attacker-controlled 0/1 values.

Why it matters to the business

Media-processing applications and pipelines that ingest untrusted Vorbis streams can be crashed or compromised, leading to service outages or arbitrary code execution on systems that rely on GStreamer for audio/video handling.

How an attack unfolds

An attacker supplies a crafted Vorbis setup packet containing an oversized size field; when the parser reads this value without bounds checking and enters the overwrite loop, memory corruption occurs that can be leveraged for control-flow hijacking or denial of service.

How to fix it

Upgrade gstreamer to version 1.24.10 or later; the fix is present in commit 5be4b6f03689ab438822f6cfcd13f1f300afe203. Rebuild any dependent packages and restart affected pipelines after the update.

How to confirm the fix worked

Confirm the installed GStreamer version reports 1.24.10 or newer; run regression tests that feed the previously crashing vorbis setup packet and verify the process no longer writes beyond the array bounds.

Typical attack path

  1. Attacker crafts malicious Vorbis media containing oversized vorbis setup packet
  2. Target application opens or streams the malicious file through GStreamer
  3. vorbis_parse.c gst_parse_vorbis_setup_packet reads the unchecked size value
  4. For-loop overwrites pad structure and adjacent memory
  5. Resulting corruption enables code execution or crash

How to detect it

Review application and system logs for segmentation faults or memory-corruption signals occurring during Vorbis parsing; correlate crashes with inbound media files that contain vorbis setup packets.

What your security team should do

  • Immediately update all GStreamer installations to 1.24.10 or the commit 5be4b6f
  • Scan build pipelines and containers for older GStreamer versions and rebuild them
  • Add the fixed version constraint to dependency manifests and CI enforcement rules
  • Monitor for any downstream projects that embed vulnerable GStreamer copies

The record

GStreamer is a library for constructing graphs of media-handling components. An OOB-Write has been detected in the function gst_parse_vorbis_setup_packet within vorbis_parse.c. The integer size is read from the input file without proper validation. As a result, size can exceed the fixed size of the pad->vorbis_mode_sizes array (which size is 256). When this happens, the for loop overwrites the entire pad structure with 0s and 1s, affecting adjacent memory as well. This OOB-write can overwrite up to 380 bytes of memory beyond the boundaries of the pad->vorbis_mode_sizes array. This vulnerability is fixed in 1.24.10.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 gstreamer1-plugins-base 0 1.16.1-5.el8_10
AlmaLinux:8 gstreamer1-plugins-base-devel 0 1.16.1-5.el8_10
AlmaLinux:9 gstreamer1-plugins-base 0 1.22.1-3.el9_5
AlmaLinux:9 gstreamer1-plugins-base-devel 0 1.22.1-3.el9_5
AlmaLinux:9 gstreamer1-plugins-base-tools 0 1.22.1-3.el9_5
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
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-base 0 0:1.16.1-5.el8_10
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-base-debuginfo 0 0:1.16.1-5.el8_10
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-base-debugsource 0 0:1.16.1-5.el8_10
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-base-devel 0 0:1.16.1-5.el8_10
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.16.1-5.el8_10
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-base 0 0:1.22.1-3.el9_5
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-base-debuginfo 0 0:1.22.1-3.el9_5
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-base-debugsource 0 0:1.22.1-3.el9_5
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-base-devel 0 0:1.22.1-3.el9_5
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-base-tools 0 0:1.22.1-3.el9_5
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.22.1-3.el9_5
Red Hat:rhel_aus:8.2::appstream gstreamer1-plugins-base 0 0:1.16.1-2.el8_2
Red Hat:rhel_aus:8.2::appstream gstreamer1-plugins-base-debuginfo 0 0:1.16.1-2.el8_2
Red Hat:rhel_aus:8.2::appstream gstreamer1-plugins-base-debugsource 0 0:1.16.1-2.el8_2
Red Hat:rhel_aus:8.2::appstream gstreamer1-plugins-base-devel 0 0:1.16.1-2.el8_2
Red Hat:rhel_aus:8.2::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.16.1-2.el8_2
Red Hat:rhel_aus:8.4::appstream gstreamer1-plugins-base 0 0:1.16.1-3.el8_4
Red Hat:rhel_aus:8.4::appstream gstreamer1-plugins-base-debuginfo 0 0:1.16.1-3.el8_4
Red Hat:rhel_aus:8.4::appstream gstreamer1-plugins-base-debugsource 0 0:1.16.1-3.el8_4
Red Hat:rhel_aus:8.4::appstream gstreamer1-plugins-base-devel 0 0:1.16.1-3.el8_4
Red Hat:rhel_aus:8.4::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.16.1-3.el8_4
Red Hat:rhel_aus:8.6::appstream gstreamer1-plugins-base 0 0:1.16.1-3.el8_6
Red Hat:rhel_aus:8.6::appstream gstreamer1-plugins-base-debuginfo 0 0:1.16.1-3.el8_6
Red Hat:rhel_aus:8.6::appstream gstreamer1-plugins-base-debugsource 0 0:1.16.1-3.el8_6
Red Hat:rhel_aus:8.6::appstream gstreamer1-plugins-base-devel 0 0:1.16.1-3.el8_6
Red Hat:rhel_aus:8.6::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.16.1-3.el8_6
Red Hat:rhel_e4s:8.4::appstream gstreamer1-plugins-base 0 0:1.16.1-3.el8_4
Red Hat:rhel_e4s:8.4::appstream gstreamer1-plugins-base-debuginfo 0 0:1.16.1-3.el8_4
Red Hat:rhel_e4s:8.4::appstream gstreamer1-plugins-base-debugsource 0 0:1.16.1-3.el8_4
Red Hat:rhel_e4s:8.4::appstream gstreamer1-plugins-base-devel 0 0:1.16.1-3.el8_4
Red Hat:rhel_e4s:8.4::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.16.1-3.el8_4
Red Hat:rhel_e4s:8.6::appstream gstreamer1-plugins-base 0 0:1.16.1-3.el8_6
Red Hat:rhel_e4s:8.6::appstream gstreamer1-plugins-base-debuginfo 0 0:1.16.1-3.el8_6
Red Hat:rhel_e4s:8.6::appstream gstreamer1-plugins-base-debugsource 0 0:1.16.1-3.el8_6
Red Hat:rhel_e4s:8.6::appstream gstreamer1-plugins-base-devel 0 0:1.16.1-3.el8_6
Red Hat:rhel_e4s:8.6::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.16.1-3.el8_6
Red Hat:rhel_e4s:9.0::appstream gstreamer1-plugins-base 0 0:1.18.4-7.el9_0
Red Hat:rhel_e4s:9.0::appstream gstreamer1-plugins-base-debuginfo 0 0:1.18.4-7.el9_0
Red Hat:rhel_e4s:9.0::appstream gstreamer1-plugins-base-debugsource 0 0:1.18.4-7.el9_0
Red Hat:rhel_e4s:9.0::appstream gstreamer1-plugins-base-devel 0 0:1.18.4-7.el9_0
Red Hat:rhel_e4s:9.0::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.18.4-7.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-base 0 0:1.16.1-3.el8_8
Red Hat:rhel_eus:8.8::appstream gstreamer1-plugins-base-debuginfo 0 0:1.16.1-3.el8_8
Red Hat:rhel_eus:8.8::appstream gstreamer1-plugins-base-debugsource 0 0:1.16.1-3.el8_8
Red Hat:rhel_eus:8.8::appstream gstreamer1-plugins-base-devel 0 0:1.16.1-3.el8_8
Red Hat:rhel_eus:8.8::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.16.1-3.el8_8
Red Hat:rhel_eus:9.2::appstream gstreamer1-plugins-base 0 0:1.18.4-7.el9_2
Red Hat:rhel_eus:9.2::appstream gstreamer1-plugins-base-debuginfo 0 0:1.18.4-7.el9_2
Red Hat:rhel_eus:9.2::appstream gstreamer1-plugins-base-debugsource 0 0:1.18.4-7.el9_2
Red Hat:rhel_eus:9.2::appstream gstreamer1-plugins-base-devel 0 0:1.18.4-7.el9_2
Red Hat:rhel_eus:9.2::appstream gstreamer1-plugins-base-tools 0 0:1.18.4-7.el9_2
Red Hat:rhel_eus:9.2::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.18.4-7.el9_2
Red Hat:rhel_eus:9.4::appstream gstreamer1-plugins-base 0 0:1.22.1-3.el9_4
Red Hat:rhel_eus:9.4::appstream gstreamer1-plugins-base-debuginfo 0 0:1.22.1-3.el9_4
Red Hat:rhel_eus:9.4::appstream gstreamer1-plugins-base-debugsource 0 0:1.22.1-3.el9_4
Red Hat:rhel_eus:9.4::appstream gstreamer1-plugins-base-devel 0 0:1.22.1-3.el9_4
Red Hat:rhel_eus:9.4::appstream gstreamer1-plugins-base-tools 0 0:1.22.1-3.el9_4
Red Hat:rhel_eus:9.4::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.22.1-3.el9_4
Red Hat:rhel_tus:8.4::appstream gstreamer1-plugins-base 0 0:1.16.1-3.el8_4
Red Hat:rhel_tus:8.4::appstream gstreamer1-plugins-base-debuginfo 0 0:1.16.1-3.el8_4
Red Hat:rhel_tus:8.4::appstream gstreamer1-plugins-base-debugsource 0 0:1.16.1-3.el8_4
Red Hat:rhel_tus:8.4::appstream gstreamer1-plugins-base-devel 0 0:1.16.1-3.el8_4
Red Hat:rhel_tus:8.4::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.16.1-3.el8_4
Red Hat:rhel_tus:8.6::appstream gstreamer1-plugins-base 0 0:1.16.1-3.el8_6
Red Hat:rhel_tus:8.6::appstream gstreamer1-plugins-base-debuginfo 0 0:1.16.1-3.el8_6
Red Hat:rhel_tus:8.6::appstream gstreamer1-plugins-base-debugsource 0 0:1.16.1-3.el8_6
Red Hat:rhel_tus:8.6::appstream gstreamer1-plugins-base-devel 0 0:1.16.1-3.el8_6
Red Hat:rhel_tus:8.6::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.16.1-3.el8_6
Rocky Linux:8 gstreamer1-plugins-base 0 0:1.16.1-5.el8_10
Rocky Linux:9 gstreamer1-plugins-base 0 0:1.22.1-3.el9_5
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 12 SP5-LTSS gstreamer-plugins-base 0 1.8.3-13.18.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 LTSS Extended Security 12 SP5 gstreamer-plugins-base 0 1.8.3-13.18.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:16.04:LTS gst-plugins-base1.0 0 1.8.3-1ubuntu0.3+esm2
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