Cloudanix VulnDB

CVE-2023-37329

High · 8.8

CVSS

8.8

EPSS

1.6%

Published

May 3, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A problem in media software could let attackers take over computers by sending specially made subtitle files.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Moderate
Impact
Remote Code Execution
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Heap-based buffer overflow in SRT subtitle parsing due to missing length validation of user data before copying into a heap buffer, enabling remote code execution within the affected process.

Why it matters to the business

Attackers can gain control of systems that process media files with GStreamer, risking unauthorized access, data theft, or service disruption across desktop and server environments that depend on this library.

How an attack unfolds

An attacker supplies a malicious SRT subtitle file with oversized data fields. When GStreamer parses the file during media playback or processing, the unchecked copy overflows the heap buffer and redirects execution to attacker-controlled code.

How to fix it

Upgrade GStreamer to the commit e2107f0a0fff902ac7f184bf96150cdc49ccf156 or later releases that contain the corrected SRT parsing logic.

How to confirm the fix worked

Confirm the presence of the fixed commit in the source tree or recompile and test SRT parsing with boundary-case subtitle files to verify the overflow is prevented.

Typical attack path

  1. Create a crafted SRT file containing excessive data lengths
  2. Deliver the file to a target application that uses GStreamer for subtitle handling
  3. Trigger SRT parsing through normal media operations
  4. Leverage the resulting heap overflow to execute arbitrary code

How to detect it

Inspect application and system logs for crashes or segmentation faults occurring during SRT subtitle parsing; correlate with file access events involving untrusted media.

What your security team should do

  • Apply the GStreamer update to all affected installations without delay
  • Inventory applications and services that depend on GStreamer for media handling
  • Restrict untrusted SRT or subtitle sources until patches are deployed
  • Monitor vendor advisories for any downstream package updates

The record

GStreamer SRT File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of GStreamer. Interaction with this library is required to exploit this vulnerability but attack vectors may vary depending on the implementation. The specific flaw exists within the parsing of SRT subtitle files. The issue results from the lack of proper validation of the length of user-supplied data prior to copying it to a heap-based buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-20968.

Affected packages

Ecosystem Package Introduced Fixed
Debian:10 gst-plugins-bad1.0 0 1.14.4-1+deb10u3
Debian:11 gst-plugins-bad1.0 0 1.18.4-3+deb11u1
Debian:12 gst-plugins-bad1.0 0 1.22.0-4+deb12u1
Debian:13 gst-plugins-bad1.0 0 1.22.4-1
Mageia:9 gstreamer1.0 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-devtools 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-editing-services 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-libav 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-moodbar 0 1.2.1-5.mga9
Mageia:9 gstreamer1.0-omx 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-plugins-bad 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-plugins-bad 0 1.22.8-1.mga9.tainted
Mageia:9 gstreamer1.0-plugins-base 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-plugins-good 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-plugins-ugly 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-plugins-ugly 0 1.22.8-1.mga9.tainted
Mageia:9 gstreamer1.0-python 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-rtsp-server 0 1.22.8-1.mga9
Mageia:9 gstreamer1.0-vaapi 0 1.22.8-1.mga9
SUSE:Enterprise Storage 7.1 gstreamer-plugins-bad 0 1.16.3-150300.9.6.2
SUSE:Enterprise Storage 7.1 gstreamer-plugins-bad 0 1.16.3-150300.9.15.1
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS gstreamer-plugins-bad 0 1.12.5-150000.3.9.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS gstreamer-plugins-bad 0 1.16.3-150200.4.7.2
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS gstreamer-plugins-bad 0 1.16.3-150300.9.6.2
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS gstreamer-plugins-bad 0 1.16.3-150300.9.15.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS gstreamer-plugins-bad 0 1.16.3-150300.9.6.2
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS gstreamer-plugins-bad 0 1.16.3-150300.9.15.1
SUSE:Linux Enterprise Module for Basesystem 15 SP4 gstreamer-plugins-bad 0 1.20.1-150400.3.3.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 gstreamer-plugins-bad 0 1.22.0-150500.3.3.1
SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 gstreamer-plugins-bad 0 1.20.1-150400.3.3.1
SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 gstreamer-plugins-bad 0 1.22.0-150500.3.3.1
SUSE:Linux Enterprise Module for Package Hub 15 SP4 gstreamer-plugins-bad 0 1.20.1-150400.3.3.1
SUSE:Linux Enterprise Module for Package Hub 15 SP5 gstreamer-plugins-bad 0 1.22.0-150500.3.3.1
SUSE:Linux Enterprise Server 15 SP1-LTSS gstreamer-plugins-bad 0 1.12.5-150000.3.9.1
SUSE:Linux Enterprise Server 15 SP2-LTSS gstreamer-plugins-bad 0 1.16.3-150200.4.7.2
SUSE:Linux Enterprise Server 15 SP3-LTSS gstreamer-plugins-bad 0 1.16.3-150300.9.6.2
SUSE:Linux Enterprise Server 15 SP3-LTSS gstreamer-plugins-bad 0 1.16.3-150300.9.15.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 gstreamer-plugins-bad 0 1.12.5-150000.3.9.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 gstreamer-plugins-bad 0 1.16.3-150200.4.7.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 gstreamer-plugins-bad 0 1.16.3-150300.9.6.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 gstreamer-plugins-bad 0 1.16.3-150300.9.15.1
SUSE:Manager Proxy 4.2 gstreamer-plugins-bad 0 1.16.3-150300.9.6.2
SUSE:Manager Server 4.2 gstreamer-plugins-bad 0 1.16.3-150300.9.6.2
Ubuntu:14.04:LTS gst-plugins-bad1.0 0 No fix
Ubuntu:16.04:LTS gst-plugins-bad1.0 0 No fix
Ubuntu:18.04:LTS gst-plugins-bad1.0 0 No fix
Ubuntu:20.04:LTS gst-plugins-bad1.0 0 1.16.3-0ubuntu1.1
Ubuntu:22.04:LTS gst-plugins-bad1.0 0 1.20.3-0ubuntu1.1
Ubuntu:23.10 gst-plugins-bad1.0 0 1.22.4-1ubuntu1.1
Ubuntu:24.04:LTS gst-plugins-bad1.0 0 1.22.4-1ubuntu1
Ubuntu:Pro:14.04:LTS gst-plugins-bad0.10 0 No fix
Ubuntu:Pro:14.04:LTS gst-plugins-bad1.0 0 No fix
Ubuntu:Pro:16.04:LTS gst-plugins-bad1.0 0 No fix
Ubuntu:Pro:18.04:LTS gst-plugins-bad1.0 0 No fix
openSUSE:Leap 15.4 gstreamer-plugins-bad 0 1.22.0-lp155.3.4.1
openSUSE:Leap 15.5 gstreamer-plugins-bad 0 1.22.0-lp155.3.4.1

Related vulnerabilities