CVE-2024-47835
High · 7.5CVSS
7.5
EPSS
1.0%
Published
Dec 12, 2024
CISA due date
—
Cloudanix analysis
A media-handling library can crash programs when it tries to read certain subtitle files, potentially interrupting video or audio services until fixed.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Null pointer dereference in parse_lrc within gstsubparse.c: strchr() search for ']' returns NULL on malformed input, which is then passed to g_strdup(start + 1) causing immediate crash.
Why it matters to the business
Media playback or processing applications using GStreamer become unavailable when handling certain subtitle-containing files, leading to service interruptions for content delivery or editing workflows.
How an attack unfolds
An attacker crafts an LRC subtitle string lacking the expected ']' character and embeds it in a media file or stream; when GStreamer parses the subtitles during playback or processing, the null dereference occurs and terminates the process.
How to fix it
Upgrade GStreamer to a build containing commit 5be4b6f03689ab438822f6cfcd13f1f300afe203 (equivalent to release 1.24.10 or newer) on all affected systems; rebuild any dependent applications against the patched library.
How to confirm the fix worked
Confirm the installed GStreamer version reports a commit after 5be4b6f or 1.24.10+; test by feeding a crafted LRC line missing ']' through gstsubparse and verify no crash occurs.
Typical attack path
- Create or modify an LRC subtitle line without a closing ']' bracket
- Package the malformed subtitle into a supported media container or stream
- Deliver the file or stream to a target application that uses GStreamer for subtitle parsing
- Trigger subtitle parsing (e.g., via playback or metadata inspection) to induce the crash
How to detect it
Monitor application and system logs for segmentation faults or crashes originating from gstsubparse or libgstreamer processes during media file handling; correlate with file opens involving .lrc or subtitle metadata.
What your security team should do
- Prioritize patching GStreamer to the fixed commit across all media-handling pipelines within the next maintenance window
- Inventory and replace any statically linked or vendored copies of the library
- Add automated build checks to ensure future GStreamer updates are tracked and deployed promptly
The record
GStreamer is a library for constructing graphs of media-handling components. A null pointer dereference vulnerability has been detected in the parse_lrc function within gstsubparse.c. The parse_lrc function calls strchr() to find the character ']' in the string line. The pointer returned by this call is then passed to g_strdup(). However, if the string line does not contain the character ']', strchr() returns NULL, and a call to g_strdup(start + 1) leads to a null pointer dereference. 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 |
| 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
- CVE-2024-47607 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-base
- CVE-2024-47615 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-base
- CVE-2024-47600 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-base
- CVE-2024-47538 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-base
- CVE-2024-47541 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-base
- CVE-2024-47542 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-base
- CVE-2023-37328 GStreamer PGS File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability. Also affects gstreamer1-plugins-base
- CVE-2021-3522 GStreamer before 1.18.4 may perform an out-of-bounds read when handling certain ID3v2… Also affects gst-plugins-base