Cloudanix VulnDB

CVE-2023-37328

High · 8.8

CVSS

8.8

EPSS

2.1%

Published

May 3, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A problem in the way certain subtitle files are handled can let attackers take control of a computer simply by tricking it into opening a specially made video or media file.

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

What it actually does

Heap-based buffer overflow in PGS subtitle file parsing due to missing validation of user-supplied data length before copying into a heap buffer, enabling arbitrary code execution in the context of the GStreamer process.

Why it matters to the business

Remote attackers can achieve code execution on systems that process untrusted media containing PGS subtitles, risking full system compromise in media playback, transcoding, or streaming pipelines; prevalence in GStreamer-based applications increases exposure across desktop and embedded environments.

How an attack unfolds

An attacker crafts a malicious PGS subtitle file with oversized data that bypasses length checks during parsing; the file is delivered to a victim application using GStreamer, which triggers the overflow and executes attacker-supplied code when the subtitle data is processed.

How to fix it

Upgrade GStreamer to the fixed commit e2107f0a0fff902ac7f184bf96150cdc49ccf156 in all affected GIT builds; rebuild and redeploy dependent applications; avoid processing untrusted PGS subtitle content until patched.

How to confirm the fix worked

Confirm the installed GStreamer commit hash matches e2107f0a0fff902ac7f184bf96150cdc49ccf156; test media playback with known-malformed PGS samples in a sandbox to verify absence of crashes or unexpected behavior.

Typical attack path

  1. Craft PGS subtitle file with excessive data length to trigger overflow
  2. Embed malicious file in container media delivered via download, email, or web
  3. Victim application opens or processes the media using GStreamer
  4. GStreamer PGS parser copies data without bounds checking
  5. Overflow allows control of execution flow and code execution

How to detect it

Review application logs and crash dumps for GStreamer processes handling subtitle parsing; search for abnormal heap operations or segmentation faults during PGS file processing in media workflows.

  • GStreamer process crashes during PGS subtitle parsing
  • Heap overflow indicators in gstsubparse or PGS-related functions

What your security team should do

  • Immediately update all GStreamer installations to the fixed commit e2107f0a0fff902ac7f184bf96150cdc49ccf156
  • Inventory and patch downstream applications and containers using GStreamer
  • Implement input sanitization or sandboxing for media file processing until upgrades complete
  • Monitor for new exploit maturity indicators given stable but non-zero EPSS

The record

GStreamer PGS 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 PGS 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-20994.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 gstreamer1-plugins-base 0 1.16.1-3.el8
AlmaLinux:8 gstreamer1-plugins-base-devel 0 1.16.1-3.el8
AlmaLinux:9 gstreamer1-plugins-base 0 1.22.1-2.el9
AlmaLinux:9 gstreamer1-plugins-base-devel 0 1.22.1-2.el9
AlmaLinux:9 gstreamer1-plugins-base-tools 0 1.22.1-2.el9
Debian:10 gst-plugins-base1.0 0 1.14.4-2+deb10u2
Debian:11 gst-plugins-base1.0 0 1.18.4-2+deb11u1
Debian:12 gst-plugins-base1.0 0 1.22.0-3+deb12u1
Debian:13 gst-plugins-base1.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
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-base 0 0:1.16.1-3.el8
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-base-debuginfo 0 0:1.16.1-3.el8
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-base-debugsource 0 0:1.16.1-3.el8
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-base-devel 0 0:1.16.1-3.el8
Red Hat:enterprise_linux:8::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.16.1-3.el8
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-base 0 0:1.22.1-2.el9
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-base-debuginfo 0 0:1.22.1-2.el9
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-base-debugsource 0 0:1.22.1-2.el9
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-base-devel 0 0:1.22.1-2.el9
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-base-tools 0 0:1.22.1-2.el9
Red Hat:enterprise_linux:9::appstream gstreamer1-plugins-base-tools-debuginfo 0 0:1.22.1-2.el9
Rocky Linux:9 gstreamer1-plugins-base 0 0:1.22.1-2.el9
SUSE:Enterprise Storage 7.1 gstreamer-plugins-base 0 1.16.3-150200.4.9.2
SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS gstreamer-plugins-base 0 1.12.5-150000.3.6.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS gstreamer-plugins-base 0 1.16.3-150200.4.9.2
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS gstreamer-plugins-base 0 1.16.3-150200.4.9.2
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS gstreamer-plugins-base 0 1.16.3-150200.4.9.2
SUSE:Linux Enterprise Micro 5.2 gstreamer-plugins-base 0 1.16.3-150200.4.9.2
SUSE:Linux Enterprise Micro 5.3 gstreamer-plugins-base 0 1.20.1-150400.3.3.1
SUSE:Linux Enterprise Micro 5.4 gstreamer-plugins-base 0 1.20.1-150400.3.3.1
SUSE:Linux Enterprise Module for Basesystem 15 SP4 gstreamer-plugins-base 0 1.20.1-150400.3.3.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 gstreamer-plugins-base 0 1.22.0-150500.3.3.1
SUSE:Linux Enterprise Module for Package Hub 15 SP4 gstreamer-plugins-base 0 1.20.1-150400.3.3.1
SUSE:Linux Enterprise Module for Package Hub 15 SP5 gstreamer-plugins-base 0 1.22.0-150500.3.3.1
SUSE:Linux Enterprise Server 12 SP2-BCL gstreamer-plugins-base 0 1.8.3-13.9.1
SUSE:Linux Enterprise Server 12 SP5 gstreamer-plugins-base 0 1.8.3-13.9.1
SUSE:Linux Enterprise Server 12 SP5 gstreamer-plugins-base 0 1.8.3-13.12.1
SUSE:Linux Enterprise Server 15 SP1-LTSS gstreamer-plugins-base 0 1.12.5-150000.3.6.1
SUSE:Linux Enterprise Server 15 SP2-LTSS gstreamer-plugins-base 0 1.16.3-150200.4.9.2
SUSE:Linux Enterprise Server 15 SP3-LTSS gstreamer-plugins-base 0 1.16.3-150200.4.9.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 gstreamer-plugins-base 0 1.8.3-13.9.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 gstreamer-plugins-base 0 1.8.3-13.12.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP1 gstreamer-plugins-base 0 1.12.5-150000.3.6.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 gstreamer-plugins-base 0 1.16.3-150200.4.9.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 gstreamer-plugins-base 0 1.16.3-150200.4.9.2
SUSE:Linux Enterprise Software Development Kit 12 SP5 gstreamer-plugins-base 0 1.8.3-13.9.1
SUSE:Linux Enterprise Software Development Kit 12 SP5 gstreamer-plugins-base 0 1.8.3-13.12.1
SUSE:Linux Enterprise Workstation Extension 12 SP5 gstreamer-plugins-base 0 1.8.3-13.9.1
SUSE:Linux Enterprise Workstation Extension 12 SP5 gstreamer-plugins-base 0 1.8.3-13.12.1
SUSE:Manager Proxy 4.2 gstreamer-plugins-base 0 1.16.3-150200.4.9.2
SUSE:Manager Server 4.2 gstreamer-plugins-base 0 1.16.3-150200.4.9.2
Ubuntu:16.04:LTS gst-plugins-base0.10 0 No fix
Ubuntu:20.04:LTS gst-plugins-base1.0 0 1.16.3-0ubuntu1.2
Ubuntu:22.04:LTS gst-plugins-base1.0 0 1.20.1-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.4 gstreamer-plugins-base 0 1.20.1-150400.3.3.1
openSUSE:Leap 15.4 gstreamer-plugins-base 0 1.16.3-150200.4.9.2
openSUSE:Leap 15.4 gstreamer-plugins-base 0 1.12.5-150000.3.6.1
openSUSE:Leap 15.5 gstreamer-plugins-base 0 1.22.0-150500.3.3.1
openSUSE:Leap Micro 5.3 gstreamer-plugins-base 0 1.20.1-150400.3.3.1
openSUSE:Leap Micro 5.4 gstreamer-plugins-base 0 1.20.1-150400.3.3.1

Related vulnerabilities