CVE-2023-40474
High · 8.8CVSS
8.8
EPSS
2.1%
Published
May 3, 2024
CISA due date
—
Cloudanix analysis
A problem handling certain video files could let attackers take control of computers that use this media software when users open a bad 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
Integer overflow during MXF video file parsing in GStreamer leads to undersized buffer allocation, enabling out-of-bounds memory access and arbitrary code execution in the context of the parsing process.
Why it matters to the business
Attackers can compromise systems that process MXF media files, potentially leading to unauthorized code execution, data theft, or service disruption across media-handling applications and pipelines that depend on this library.
How an attack unfolds
An attacker crafts a malicious MXF file containing specially sized metadata that triggers the integer overflow on parse. When a vulnerable GStreamer-based application opens or processes the file, the resulting memory corruption allows shellcode execution without authentication.
How to fix it
Update gstreamer/gstreamer to the commit ddb4fbe43149b157efb52b6472313f48308c1dbc or a later release that contains the fix; rebuild and redeploy any dependent applications or containers.
How to confirm the fix worked
Confirm the installed GStreamer commit or version includes ddb4fbe43149b157efb52b6472313f48308c1dbc; test parsing of known-good and boundary MXF files to verify no crash or unexpected behavior occurs.
Typical attack path
- Attacker prepares a crafted MXF file with oversized or malformed length fields
- Victim application or service ingests the file via network, upload, or local media
- GStreamer MXF parser processes the file and overflows an integer before buffer allocation
- Memory corruption occurs, enabling control of execution flow
- Arbitrary code runs in the context of the GStreamer process
How to detect it
Review application and system logs for GStreamer process crashes or segmentation faults while parsing MXF files; inspect file upload or media processing audit trails for recently introduced MXF assets from untrusted origins.
What your security team should do
- Prioritize upgrade of GStreamer to the fixed commit across all media-processing environments
- Restrict MXF file ingestion to trusted sources until patches are applied
- Monitor EPSS trend and re-evaluate exposure if exploit maturity increases
- Include GStreamer version checks in software bill of materials and dependency scans
The record
GStreamer MXF File Parsing Integer 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 MXF video files. The issue results from the lack of proper validation of user-supplied data, which can result in an integer overflow before allocating a buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. . Was ZDI-CAN-21660.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | gstreamer1-plugins-bad-free | 0 | 1.16.1-4.el8 |
| AlmaLinux:8 | gstreamer1-plugins-bad-free-devel | 0 | 1.16.1-4.el8 |
| AlmaLinux:9 | gstreamer1-plugins-bad-free | 0 | 1.22.1-4.el9 |
| AlmaLinux:9 | gstreamer1-plugins-bad-free-devel | 0 | 1.22.1-4.el9 |
| Debian:10 | gst-plugins-bad1.0 | 0 | 1.14.4-1+deb10u4 |
| Debian:11 | gst-plugins-bad1.0 | 0 | 1.18.4-3+deb11u2 |
| Debian:12 | gst-plugins-bad1.0 | 0 | 1.22.0-4+deb12u2 |
| Debian:13 | gst-plugins-bad1.0 | 0 | 1.22.7-1 |
| Debian:14 | gst-plugins-bad1.0 | 0 | 1.22.7-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-bad-free | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:8::appstream | gstreamer1-plugins-bad-free-debuginfo | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:8::appstream | gstreamer1-plugins-bad-free-debugsource | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:8::appstream | gstreamer1-plugins-bad-free-devel | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:8::crb | gstreamer1-plugins-bad-free | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:8::crb | gstreamer1-plugins-bad-free-debuginfo | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:8::crb | gstreamer1-plugins-bad-free-debugsource | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:8::crb | gstreamer1-plugins-bad-free-devel | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:9::appstream | gstreamer1-plugins-bad-free | 0 | 0:1.22.1-4.el9 |
| Red Hat:enterprise_linux:9::appstream | gstreamer1-plugins-bad-free-debuginfo | 0 | 0:1.22.1-4.el9 |
| Red Hat:enterprise_linux:9::appstream | gstreamer1-plugins-bad-free-debugsource | 0 | 0:1.22.1-4.el9 |
| Red Hat:enterprise_linux:9::appstream | gstreamer1-plugins-bad-free-devel | 0 | 0:1.22.1-4.el9 |
| Red Hat:enterprise_linux:9::crb | gstreamer1-plugins-bad-free | 0 | 0:1.22.1-4.el9 |
| Red Hat:enterprise_linux:9::crb | gstreamer1-plugins-bad-free-debuginfo | 0 | 0:1.22.1-4.el9 |
| Red Hat:enterprise_linux:9::crb | gstreamer1-plugins-bad-free-debugsource | 0 | 0:1.22.1-4.el9 |
| Red Hat:enterprise_linux:9::crb | gstreamer1-plugins-bad-free-devel | 0 | 0:1.22.1-4.el9 |
| Rocky Linux:8 | gstreamer1-plugins-bad-free | 0 | 0:1.16.1-4.el8 |
| Rocky Linux:9 | gstreamer1-plugins-bad-free | 0 | 0:1.22.1-4.el9 |
| SUSE:Enterprise Storage 7.1 | gstreamer-plugins-bad | 0 | 1.16.3-150300.9.9.1 |
| SUSE:Enterprise Storage 7.1 | gstreamer-plugins-bad | 0 | 1.16.3-150300.9.12.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | gstreamer | 0 | 1.12.5-150000.3.17.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | gstreamer-plugins-bad | 0 | 1.12.5-150000.3.12.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | gstreamer-plugins-bad | 0 | 1.12.5-150000.3.15.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | gstreamer-plugins-bad | 0 | 1.16.3-150200.4.10.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | gstreamer-plugins-bad | 0 | 1.16.3-150200.4.13.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | gstreamer-plugins-bad | 0 | 1.16.3-150300.9.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | gstreamer-plugins-bad | 0 | 1.16.3-150300.9.12.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | gstreamer-plugins-bad | 0 | 1.16.3-150300.9.9.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | gstreamer-plugins-bad | 0 | 1.16.3-150300.9.12.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | gstreamer-plugins-bad | 0 | 1.20.1-150400.3.6.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | gstreamer-plugins-bad | 0 | 1.20.1-150400.3.9.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | gstreamer-plugins-bad | 0 | 1.22.0-150500.3.6.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | gstreamer-plugins-bad | 0 | 1.22.0-150500.3.9.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | gstreamer-plugins-bad | 0 | 1.20.1-150400.3.6.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | gstreamer-plugins-bad | 0 | 1.20.1-150400.3.9.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | gstreamer-plugins-bad | 0 | 1.22.0-150500.3.6.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | gstreamer-plugins-bad | 0 | 1.22.0-150500.3.9.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | gstreamer-plugins-bad | 0 | 1.20.1-150400.3.6.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP4 | gstreamer-plugins-bad | 0 | 1.20.1-150400.3.9.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | gstreamer-plugins-bad | 0 | 1.22.0-150500.3.6.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | gstreamer-plugins-bad | 0 | 1.22.0-150500.3.9.1 |
| SUSE:Linux Enterprise Server 12 SP5 | gstreamer | 0 | 1.8.3-10.6.1 |
| SUSE:Linux Enterprise Server 12 SP5 | gstreamer | 0 | 1.8.3-10.9.1 |
| SUSE:Linux Enterprise Server 12 SP5 | gstreamer-plugins-bad | 0 | 1.8.3-18.6.1 |
| SUSE:Linux Enterprise Server 12 SP5 | gstreamer-plugins-bad | 0 | 1.8.3-18.9.3 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | gstreamer | 0 | 1.12.5-150000.3.17.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | gstreamer-plugins-bad | 0 | 1.12.5-150000.3.12.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | gstreamer-plugins-bad | 0 | 1.12.5-150000.3.15.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | gstreamer-plugins-bad | 0 | 1.16.3-150200.4.10.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | gstreamer-plugins-bad | 0 | 1.16.3-150200.4.13.2 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | gstreamer-plugins-bad | 0 | 1.16.3-150300.9.9.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | gstreamer-plugins-bad | 0 | 1.16.3-150300.9.12.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | gstreamer | 0 | 1.8.3-10.6.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | gstreamer | 0 | 1.8.3-10.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | gstreamer-plugins-bad | 0 | 1.8.3-18.6.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | gstreamer-plugins-bad | 0 | 1.8.3-18.9.3 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | gstreamer | 0 | 1.12.5-150000.3.17.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | gstreamer-plugins-bad | 0 | 1.12.5-150000.3.12.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | gstreamer-plugins-bad | 0 | 1.12.5-150000.3.15.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | gstreamer-plugins-bad | 0 | 1.16.3-150200.4.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | gstreamer-plugins-bad | 0 | 1.16.3-150200.4.13.2 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | gstreamer-plugins-bad | 0 | 1.16.3-150300.9.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | gstreamer-plugins-bad | 0 | 1.16.3-150300.9.12.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | gstreamer | 0 | 1.8.3-10.6.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | gstreamer | 0 | 1.8.3-10.9.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | gstreamer-plugins-bad | 0 | 1.8.3-18.6.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | gstreamer-plugins-bad | 0 | 1.8.3-18.9.3 |
| 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 | No fix |
| 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.7.1 |
| openSUSE:Leap 15.5 | gstreamer-plugins-bad | 0 | 1.22.0-lp155.3.7.1 |
Related vulnerabilities
- CVE-2023-44446 GStreamer MXF File Parsing Use-After-Free Remote Code Execution Vulnerability. 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-2024-0444 GStreamer AV1 Video Parsing Stack-based Buffer Overflow Remote Code Execution… Also affects gstreamer1-plugins-bad-free
- CVE-2024-4453 GStreamer EXIF Metadata Parsing Integer Overflow Remote Code Execution Vulnerability. Also affects gstreamer1-plugins-bad-free
- CVE-2023-50186 GStreamer AV1 Video Parsing Stack-based Buffer Overflow Remote Code Execution… 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-37329 GStreamer SRT File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability. Also affects gst-plugins-bad1.0