CVE-2023-37327
High · 8.8CVSS
8.8
EPSS
1.7%
Published
May 3, 2024
CISA due date
—
Cloudanix analysis
A flaw in a popular media processing library allows attackers to take control of a computer by sending a specially crafted audio 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
The vulnerability is an integer overflow during FLAC audio file parsing that leads to improper buffer allocation, enabling remote code execution within the process context.
Why it matters to the business
Attackers can run malicious code on systems processing untrusted FLAC files, potentially leading to data breaches or system compromise in media-handling applications.
How an attack unfolds
An attacker crafts a malicious FLAC file that triggers an integer overflow in the parser. When the application processes the file, the overflow causes a buffer allocation error, allowing the attacker to execute arbitrary code.
How to fix it
Update GStreamer to the fixed version in commit e2107f0a0fff902ac7f184bf96150cdc49ccf156 or later.
How to confirm the fix worked
Verify the installed GStreamer version includes commit e2107f0a0fff902ac7f184bf96150cdc49ccf156 and test with known vulnerable FLAC samples.
Typical attack path
- Deliver malicious FLAC file to target application
- Application parses the file triggering the integer overflow
- Exploit the resulting memory corruption to execute code
How to detect it
Monitor for crashes or unusual behavior in processes using GStreamer when handling FLAC files; check application logs for parsing errors.
What your security team should do
- Prioritize updating GStreamer installations to the fixed commit
- Scan for usage of GStreamer in media processing pipelines
- Implement input validation for audio files where possible
The record
GStreamer FLAC 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 FLAC audio 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-20775.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | gstreamer1-plugins-good | 0 | 1.16.1-4.el8 |
| AlmaLinux:8 | gstreamer1-plugins-good-gtk | 0 | 1.16.1-4.el8 |
| AlmaLinux:9 | gstreamer1-plugins-good | 0 | 1.22.1-2.el9 |
| AlmaLinux:9 | gstreamer1-plugins-good-gtk | 0 | 1.22.1-2.el9 |
| Debian:10 | gst-plugins-good1.0 | 0 | 1.14.4-1+deb10u3 |
| Debian:11 | gst-plugins-good1.0 | 0 | 1.18.4-2+deb11u2 |
| Debian:12 | gst-plugins-good1.0 | 0 | 1.22.0-5+deb12u1 |
| Debian:13 | gst-plugins-good1.0 | 0 | 1.22.4-1 |
| Debian:14 | gst-plugins-good1.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-good | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:8::appstream | gstreamer1-plugins-good-debuginfo | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:8::appstream | gstreamer1-plugins-good-debugsource | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:8::appstream | gstreamer1-plugins-good-gtk | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:8::appstream | gstreamer1-plugins-good-gtk-debuginfo | 0 | 0:1.16.1-4.el8 |
| Red Hat:enterprise_linux:9::appstream | gstreamer1-plugins-good | 0 | 0:1.22.1-2.el9 |
| Red Hat:enterprise_linux:9::appstream | gstreamer1-plugins-good-debuginfo | 0 | 0:1.22.1-2.el9 |
| Red Hat:enterprise_linux:9::appstream | gstreamer1-plugins-good-debugsource | 0 | 0:1.22.1-2.el9 |
| Red Hat:enterprise_linux:9::appstream | gstreamer1-plugins-good-gtk | 0 | 0:1.22.1-2.el9 |
| Red Hat:enterprise_linux:9::appstream | gstreamer1-plugins-good-gtk-debuginfo | 0 | 0:1.22.1-2.el9 |
| Red Hat:enterprise_linux:9::appstream | gstreamer1-plugins-good-qt-debuginfo | 0 | 0:1.22.1-2.el9 |
| Rocky Linux:8 | gstreamer1-plugins-good | 0 | 0:1.16.1-4.el8 |
| SUSE:Enterprise Storage 7.1 | gstreamer-plugins-base | 0 | 1.16.3-150200.4.9.2 |
| SUSE:Enterprise Storage 7.1 | gstreamer-plugins-good | 0 | 1.16.3-150200.3.12.1 |
| 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 SP2-LTSS | gstreamer-plugins-good | 0 | 1.16.3-150200.3.12.1 |
| 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-ESPOS | gstreamer-plugins-good | 0 | 1.16.3-150200.3.12.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | gstreamer-plugins-base | 0 | 1.16.3-150200.4.9.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | gstreamer-plugins-good | 0 | 1.16.3-150200.3.12.1 |
| 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 SP4 | gstreamer-plugins-good | 0 | 1.20.1-150400.3.6.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 Basesystem 15 SP5 | gstreamer-plugins-good | 0 | 1.22.0-150500.4.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 SP2-BCL | gstreamer-plugins-good | 0 | 1.8.3-16.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-good | 0 | 1.8.3-16.9.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | gstreamer-plugins-base | 0 | 1.12.5-150000.3.6.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | gstreamer-plugins-good | 0 | 1.12.5-150000.3.7.2 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | gstreamer-plugins-base | 0 | 1.16.3-150200.4.9.2 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | gstreamer-plugins-good | 0 | 1.16.3-150200.3.12.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | gstreamer-plugins-base | 0 | 1.16.3-150200.4.9.2 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | gstreamer-plugins-good | 0 | 1.16.3-150200.3.12.1 |
| 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-good | 0 | 1.8.3-16.9.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 SP1 | gstreamer-plugins-good | 0 | 1.12.5-150000.3.7.2 |
| 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 SP2 | gstreamer-plugins-good | 0 | 1.16.3-150200.3.12.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | gstreamer-plugins-base | 0 | 1.16.3-150200.4.9.2 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | gstreamer-plugins-good | 0 | 1.16.3-150200.3.12.1 |
| SUSE:Linux Enterprise Software Development Kit 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.9.1 |
| SUSE:Manager Proxy 4.2 | gstreamer-plugins-base | 0 | 1.16.3-150200.4.9.2 |
| SUSE:Manager Proxy 4.2 | gstreamer-plugins-good | 0 | 1.16.3-150200.3.12.1 |
| SUSE:Manager Server 4.2 | gstreamer-plugins-base | 0 | 1.16.3-150200.4.9.2 |
| SUSE:Manager Server 4.2 | gstreamer-plugins-good | 0 | 1.16.3-150200.3.12.1 |
| Ubuntu:16.04:LTS | gst-plugins-base0.10 | 0 | No fix |
| Ubuntu:16.04:LTS | gst-plugins-good0.10 | 0 | No fix |
| Ubuntu:20.04:LTS | gst-plugins-base1.0 | 0 | 1.16.3-0ubuntu1.2 |
| Ubuntu:20.04:LTS | gst-plugins-good1.0 | 0 | 1.16.3-0ubuntu1.2 |
| Ubuntu:22.04:LTS | gst-plugins-base1.0 | 0 | 1.20.1-1ubuntu0.1 |
| Ubuntu:22.04:LTS | gst-plugins-good1.0 | 0 | 1.20.3-0ubuntu1.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:16.04:LTS | gst-plugins-good0.10 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | gst-plugins-good1.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 |
| Ubuntu:Pro:18.04:LTS | gst-plugins-good1.0 | 0 | No fix |
| 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.4 | gstreamer-plugins-good | 0 | 1.20.1-150400.3.6.1 |
| openSUSE:Leap 15.4 | gstreamer-plugins-good | 0 | 1.16.3-150200.3.12.1 |
| openSUSE:Leap 15.5 | gstreamer-plugins-base | 0 | 1.22.0-150500.3.3.1 |
| openSUSE:Leap 15.5 | gstreamer-plugins-good | 0 | 1.22.0-150500.4.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
- CVE-2024-47606 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-good
- CVE-2024-47613 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-good
- CVE-2024-47539 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-good
- CVE-2024-47540 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-good
- CVE-2024-47537 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-good
- CVE-2021-3497 GStreamer before 1.18.4 might access already-freed memory in error code paths when… Also affects gstreamer1-plugins-good
- CVE-2024-47834 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-good
- CVE-2024-47774 GStreamer is a library for constructing graphs of media-handling components. Also affects gstreamer1-plugins-good