CVE-2021-3522
Medium · 5.5CVSS
5.5
EPSS
5.4%
Published
Jun 2, 2021
CISA due date
—
Cloudanix analysis
A flaw in common media software can make audio and video programs stop working when they try to open certain files.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds read during ID3v2 tag parsing in GStreamer media handling code, resulting in process crash due to invalid memory access.
Why it matters to the business
Media playback or processing applications can unexpectedly terminate when users open crafted audio or video files, disrupting workflows and requiring restarts or workarounds until patched.
How an attack unfolds
An attacker creates a media file containing a specially malformed ID3v2 tag, delivers it to a target (via download, email, or shared storage), and relies on the victim opening the file in any GStreamer-based application, which triggers the out-of-bounds read and denial of service.
How to fix it
Upgrade GStreamer to version 1.18.4 or later; for GIT builds apply commit b5b2e3b9208f1f93bc5b0244d29dfed157d78293 or newer equivalent release.
How to confirm the fix worked
Confirm installed GStreamer version is 1.18.4 or newer; test playback of known-good ID3-tagged files and verify absence of crashes on boundary-tag samples; review build logs for the referenced commit hash.
Typical attack path
- Craft media file embedding malicious ID3v2 tag data
- Distribute the file through user-accessible channels
- Victim opens the file using a GStreamer-dependent media player or library
- Parser performs out-of-bounds read leading to application crash
How to detect it
Review application and system logs for GStreamer process crashes or segmentation faults occurring during media file parsing; correlate timestamps with user-opened media files containing ID3 tags.
What your security team should do
- Immediately update all GStreamer installations to the fixed version
- Inventory applications and libraries that depend on GStreamer for media handling
- Block or sandbox untrusted media file sources until patches are applied
- Monitor vendor advisories for downstream package updates
The record
GStreamer before 1.18.4 may perform an out-of-bounds read when handling certain ID3v2 tags.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.18 | gst-plugins-base | 0 | 1.18.4-r0 |
| Alpine:v3.19 | gst-plugins-base | 0 | 1.18.4-r0 |
| Alpine:v3.20 | gst-plugins-base | 0 | 1.18.4-r0 |
| Alpine:v3.21 | gst-plugins-base | 0 | 1.18.4-r0 |
| Alpine:v3.22 | gst-plugins-base | 0 | 1.18.4-r0 |
| Debian:10 | gst-plugins-base1.0 | 0 | 1.14.4-2+deb10u1 |
| Debian:11 | gst-plugins-base1.0 | 0 | 1.18.4-2 |
| Debian:12 | gst-plugins-base1.0 | 0 | 1.18.4-2 |
| Debian:13 | gst-plugins-base1.0 | 0 | 1.18.4-2 |
| Debian:9 | gst-plugins-base1.0 | 0 | 1.10.4-1+deb9u2 |
| Mageia:7 | gstreamer1.0-plugins-bad | 0 | 1.16.0-1.2.mga7 |
| Mageia:7 | gstreamer1.0-plugins-bad | 0 | 1.16.0-1.2.mga7.tainted |
| Mageia:7 | gstreamer1.0-plugins-base | 0 | 1.16.0-2.1.mga7 |
| Mageia:8 | gstreamer1.0-plugins-bad | 0 | 1.18.3-1.1.mga8 |
| Mageia:8 | gstreamer1.0-plugins-bad | 0 | 1.18.3-1.1.mga8.tainted |
| Mageia:8 | gstreamer1.0-plugins-base | 0 | 1.18.3-1.1.mga8 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | gstreamer-plugins-base | 0 | 1.12.5-150000.3.6.1 |
| SUSE:Linux Enterprise Micro 5.2 | gstreamer-plugins-base | 0 | 1.16.3-150200.4.6.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP3 | gstreamer-plugins-base | 0 | 1.16.3-150200.4.6.2 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP3 | gstreamer-plugins-base | 0 | 1.16.3-150200.4.6.2 |
| SUSE:Linux Enterprise Server 12 SP5 | gstreamer-plugins-base | 0 | 1.8.3-13.6.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | gstreamer-plugins-base | 0 | 1.12.5-150000.3.6.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | gstreamer-plugins-base | 0 | 1.8.3-13.6.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | gstreamer-plugins-base | 0 | 1.12.5-150000.3.6.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | gstreamer-0_10-plugins-base | 0 | 0.10.36-18.6.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | gstreamer-plugins-base | 0 | 1.8.3-13.6.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP5 | gstreamer-0_10-plugins-base | 0 | 0.10.36-18.6.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP5 | gstreamer-plugins-base | 0 | 1.8.3-13.6.1 |
| Ubuntu:18.04:LTS | gst-plugins-base1.0 | 0 | 1.14.5-0ubuntu1~18.04.3 |
| Ubuntu:20.04:LTS | gst-plugins-base1.0 | 0 | 1.16.2-4ubuntu0.1 |
| Ubuntu:Pro:16.04:LTS | gst-plugins-base1.0 | 0 | 1.8.3-1ubuntu0.3+esm1 |
| openSUSE:Leap 15.3 | gstreamer-plugins-base | 0 | 1.16.3-150200.4.6.2 |
| openSUSE:Leap 15.4 | gstreamer-plugins-base | 0 | 1.16.3-150200.4.6.2 |
| openSUSE:Leap 15.4 | gstreamer-plugins-base | 0 | 1.12.5-150000.3.6.1 |
| openSUSE:Leap Micro 5.2 | gstreamer-plugins-base | 0 | 1.16.3-150200.4.6.2 |
Related vulnerabilities
- CVE-2019-9928 GStreamer before 1.16.0 has a heap-based buffer overflow in the RTSP connection parser… Also affects gst-plugins-base
- CVE-2024-47835 GStreamer is a library for constructing graphs of media-handling components. Also affects gst-plugins-base
- CVE-2024-47607 GStreamer is a library for constructing graphs of media-handling components. Also affects gst-plugins-base
- CVE-2024-47615 GStreamer is a library for constructing graphs of media-handling components. Also affects gst-plugins-base
- CVE-2024-47600 GStreamer is a library for constructing graphs of media-handling components. Also affects gst-plugins-base
- CVE-2024-47538 GStreamer is a library for constructing graphs of media-handling components. Also affects gst-plugins-base
- CVE-2024-47541 GStreamer is a library for constructing graphs of media-handling components. Also affects gst-plugins-base
- CVE-2024-47542 GStreamer is a library for constructing graphs of media-handling components. Also affects gst-plugins-base