CVE-2024-0444
High · 8.8CVSS
8.8
EPSS
1.6%
Published
Jun 7, 2024
CISA due date
—
Cloudanix analysis
A flaw in video software lets attackers run their own programs on a computer simply by tricking it into opening a specially made video file.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Stack-based buffer overflow in AV1 tile list parsing due to missing length validation before copying user data into a fixed-size stack buffer, enabling arbitrary code execution in the GStreamer process context.
Why it matters to the business
Systems that decode or play AV1 video streams risk remote compromise, allowing attackers to run malicious code and potentially disrupt media workflows or steal data.
How an attack unfolds
An attacker creates a specially crafted AV1 video file containing oversized tile list data. When a vulnerable GStreamer installation parses the file during playback or processing, the overflow overwrites the stack and redirects execution to attacker-supplied code.
How to fix it
Upgrade GStreamer to commit f368d63ecd89e01fd2cf0b1c4def5fc782b2c390 or later. Rebuild and redeploy any applications that statically link the affected library.
How to confirm the fix worked
Confirm the installed GStreamer source matches or exceeds commit f368d63ecd89e01fd2cf0b1c4def5fc782b2c390; test with known-good and malformed AV1 samples to verify parsing no longer overflows.
Typical attack path
- Craft malicious AV1 video with oversized tile list metadata
- Deliver file via web download, email, or media stream
- Victim application invokes GStreamer to parse the AV1 content
- Overflow occurs during tile list copy into stack buffer
- Attacker payload executes with privileges of the GStreamer process
How to detect it
Review application logs and process crash dumps for AV1 parsing errors or stack corruption around media handling routines; correlate with file access timestamps of AV1 content from untrusted sources.
What your security team should do
- Immediately update all GStreamer installations to the fixed commit
- Inventory and replace any embedded or statically linked copies of the library
- Restrict untrusted AV1 media processing until patches are applied
- Monitor for new GStreamer releases and schedule automated dependency updates
The record
GStreamer AV1 Video Parsing Stack-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 tile list data within AV1-encoded video files. The issue results from the lack of proper validation of the length of user-supplied data prior to copying it to a fixed-length stack-based buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-22873.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:9 | gstreamer1 | 0 | 1.22.12-3.el9 |
| AlmaLinux:9 | gstreamer1-devel | 0 | 1.22.12-3.el9 |
| AlmaLinux:9 | gstreamer1-plugins-bad-free | 0 | 1.22.12-3.el9 |
| AlmaLinux:9 | gstreamer1-plugins-bad-free-devel | 0 | 1.22.12-3.el9 |
| AlmaLinux:9 | gstreamer1-plugins-bad-free-libs | 0 | 1.22.12-3.el9 |
| AlmaLinux:9 | gstreamer1-plugins-ugly-free | 0 | 1.22.12-3.el9 |
| AlmaLinux:9 | gstreamer1-rtsp-server | 0 | 1.22.12-3.el9 |
| Debian:11 | gst-plugins-bad1.0 | 0 | 1.18.4-3+deb11u4 |
| Debian:12 | gst-plugins-bad1.0 | 0 | 1.22.0-4+deb12u5 |
| Debian:13 | gst-plugins-bad1.0 | 0 | 1.22.9-1 |
| Debian:14 | gst-plugins-bad1.0 | 0 | 1.22.9-1 |
| Mageia:9 | gstreamer1.0 | 0 | 1.22.11-1.mga9 |
| Mageia:9 | gstreamer1.0-devtools | 0 | 1.22.11-1.mga9 |
| Mageia:9 | gstreamer1.0-editing-services | 0 | 1.22.11-1.mga9 |
| Mageia:9 | gstreamer1.0-libav | 0 | 1.22.11-1.mga9 |
| Mageia:9 | gstreamer1.0-moodbar | 0 | 1.3.0-1.mga9 |
| Mageia:9 | gstreamer1.0-omx | 0 | 1.22.11-1.mga9 |
| Mageia:9 | gstreamer1.0-plugins-bad | 0 | 1.22.11-1.mga9 |
| Mageia:9 | gstreamer1.0-plugins-bad | 0 | 1.22.11-1.mga9.tainted |
| Mageia:9 | gstreamer1.0-plugins-base | 0 | 1.22.11-1.mga9 |
| Mageia:9 | gstreamer1.0-plugins-good | 0 | 1.22.11-1.mga9 |
| Mageia:9 | gstreamer1.0-plugins-ugly | 0 | 1.22.11-1.mga9 |
| Mageia:9 | gstreamer1.0-plugins-ugly | 0 | 1.22.11-1.mga9.tainted |
| Mageia:9 | gstreamer1.0-python | 0 | 1.22.11-1.mga9 |
| Mageia:9 | gstreamer1.0-rtsp-server | 0 | 1.22.11-1.mga9 |
| Mageia:9 | gstreamer1.0-vaapi | 0 | 1.22.11-1.mga9 |
| Ubuntu:22.04:LTS | gst-plugins-bad1.0 | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | gst-plugins-bad1.0 | 0 | 1.20.3-0ubuntu1.1+esm2 |
Related vulnerabilities
- CVE-2024-4453 GStreamer EXIF Metadata Parsing Integer Overflow Remote Code Execution Vulnerability. Also affects gstreamer1
- CVE-2023-50186 GStreamer AV1 Video Parsing Stack-based Buffer Overflow Remote Code Execution… Also affects gstreamer1-plugins-bad-free
- CVE-2023-44446 GStreamer MXF File Parsing Use-After-Free Remote Code Execution Vulnerability. Also affects gstreamer1-plugins-bad-free
- CVE-2023-44429 GStreamer AV1 Codec Parsing Heap-based Buffer Overflow Remote Code Execution… Also affects gstreamer1-plugins-bad-free
- CVE-2023-40476 GStreamer H265 Parsing Stack-based Buffer Overflow Remote Code Execution Vulnerability. Also affects gstreamer1-plugins-bad-free
- CVE-2023-40475 GStreamer MXF File Parsing Integer Overflow Remote Code Execution Vulnerability. Also affects gstreamer1-plugins-bad-free
- CVE-2023-40474 GStreamer MXF File Parsing Integer Overflow Remote Code Execution Vulnerability. Also affects gstreamer1-plugins-bad-free
- CVE-2023-37329 GStreamer SRT File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability. Also affects gst-plugins-bad1.0