Cloudanix VulnDB

CVE-2024-47541

High · 7.5

CVSS

7.5

EPSS

1.3%

Published

Dec 12, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the GStreamer media library can cause programs that handle subtitles to crash when they receive specially crafted subtitle text.

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

What it actually does

Out-of-bounds write in gst_ssa_parse_remove_override_codes when a closing curly bracket precedes an opening one, causing memmove to receive progressively larger sizes (strlen(end+1)) that exceed the allocated buffer during SSA override code removal.

Why it matters to the business

Applications using GStreamer for media with subtitles can crash when processing malformed SSA content, interrupting playback, transcoding, or streaming pipelines and requiring restarts or fallback handling.

How an attack unfolds

An attacker supplies a crafted SSA subtitle string containing a closing bracket before any opening bracket; the parser enters a loop that repeatedly calls memmove with increasing lengths, writing past the end of the allocated buffer and triggering a crash or potential memory corruption.

How to fix it

Upgrade GStreamer to version 1.24.10 or apply commit 5be4b6f03689ab438822f6cfcd13f1f300afe203 in the gstssaparse.c file; rebuild and redeploy any dependent applications or containers.

How to confirm the fix worked

Confirm the installed GStreamer version reports 1.24.10 or later; test the fixed build against a sample input containing a premature closing curly bracket and verify no crash or memory error occurs.

Typical attack path

  1. Identify a GStreamer-based application that parses SSA subtitles
  2. Craft an input containing a closing curly bracket before any opening bracket in the override section
  3. Deliver the malformed subtitle via file, stream, or metadata to the target application
  4. Trigger repeated parsing of the input to execute the vulnerable loop and oversized memmove
  5. Observe denial of service from the resulting out-of-bounds write

How to detect it

Review application and system logs for segmentation faults or aborts occurring inside gstssaparse during subtitle parsing; correlate with inbound media files containing SSA tracks and inspect process core dumps for buffer-overrun patterns.

What your security team should do

  • Immediately update all GStreamer installations to 1.24.10 or the referenced commit
  • Scan build pipelines and dependency manifests for older GStreamer versions and enforce the fixed release
  • Add SSA subtitle fuzzing to media ingestion test suites
  • Monitor crash reports for media-processing services handling subtitle tracks

The record

GStreamer is a library for constructing graphs of media-handling components. An OOB-write vulnerability has been identified in the gst_ssa_parse_remove_override_codes function of the gstssaparse.c file. This function is responsible for parsing and removing SSA (SubStation Alpha) style override codes, which are enclosed in curly brackets ({}). The issue arises when a closing curly bracket "}" appears before an opening curly bracket "{" in the input string. In this case, memmove() incorrectly duplicates a substring. With each successive loop iteration, the size passed to memmove() becomes progressively larger (strlen(end+1)), leading to a write beyond the allocated memory bounds. 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 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

Related vulnerabilities