CVE-2023-47359
Critical · 9.8CVSS
9.8
EPSS
1.1%
Published
Nov 7, 2023
CISA due date
—
Cloudanix analysis
A popular media player can be tricked into letting attackers take over your computer if you open a specially made video or audio file.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
An incorrect offset read in the GetPacket() function triggers a heap-based buffer overflow, resulting in memory corruption that can be leveraged for arbitrary code execution or denial of service.
Why it matters to the business
Attackers can remotely compromise systems running vulnerable media players, leading to data theft, ransomware deployment, or system takeover; the high severity and public exploit availability increase urgency for organizations with media playback dependencies, even years after disclosure.
How an attack unfolds
An attacker supplies a specially crafted media file or network stream containing malformed packet data. When the vulnerable player processes the input via GetPacket(), the incorrect offset causes an out-of-bounds write on the heap, corrupting memory structures and allowing control of execution flow to achieve code execution.
How to fix it
Upgrade VLC Media Player to version 3.0.20 or later. If immediate upgrade is not possible, restrict opening of untrusted media files from external sources and consider application sandboxing or alternative players.
How to confirm the fix worked
Verify the installed VLC version is 3.0.20 or newer via the Help > About menu. Test with known-malformed sample files in a controlled environment to confirm the overflow no longer occurs.
Typical attack path
- Craft malicious media file or stream with manipulated packet offsets
- Deliver the file via email, web download, or network stream
- Victim opens the file in the vulnerable VLC player
- GetPacket() processes the malformed input and triggers heap overflow
- Attacker gains arbitrary code execution or crashes the process
How to detect it
Review application crash logs and memory dumps for heap corruption signatures around media parsing routines. Correlate file open events with VLC process crashes or unusual memory allocations.
What your security team should do
- Prioritize patching all VLC installations to 3.0.20+ immediately given public exploit availability
- Block or scan inbound media files from untrusted sources at email and web gateways
- Enable application allowlisting to prevent execution of older vulnerable binaries
- Monitor for new exploit samples targeting VLC packet parsing
The record
Videolan VLC prior to version 3.0.20 contains an incorrect offset read that leads to a Heap-Based Buffer Overflow in function GetPacket() and results in a memory corruption.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | vlc | 0 | 3.0.20-0+deb10u1 |
| Debian:11 | vlc | 0 | 3.0.20-0+deb11u1 |
| Debian:12 | vlc | 0 | 3.0.20-0+deb12u1 |
| Debian:13 | vlc | 0 | 3.0.20-1 |
| Mageia:9 | vlc | 0 | 3.0.20-1.mga9 |
| Mageia:9 | vlc | 0 | 3.0.20-1.mga9.tainted |
| Ubuntu:20.04:LTS | vlc | 0 | No fix |
| Ubuntu:22.04:LTS | vlc | 0 | No fix |
| Ubuntu:23.10 | vlc | 0 | 3.0.18-4ubuntu0.1 |
| Ubuntu:24.04:LTS | vlc | 0 | 3.0.20-3build6 |
| Ubuntu:24.10 | vlc | 0 | 3.0.20-3build6 |
| Ubuntu:Pro:16.04:LTS | vlc | 0 | 2.2.2-5ubuntu0.16.04.5+esm3 |
| Ubuntu:Pro:18.04:LTS | vlc | 0 | 3.0.8-0ubuntu18.04.1+esm2 |
| Ubuntu:Pro:20.04:LTS | vlc | 0 | 3.0.9.2-1ubuntu0.1~esm2 |
| Ubuntu:Pro:22.04:LTS | vlc | 0 | 3.0.16-1ubuntu0.1~esm2 |
Related vulnerabilities
- CVE-2023-47360 Videolan VLC prior to version 3.0.20 contains an Integer underflow that leads to an… Also affects vlc
- CVE-2022-41325 An integer overflow in the VNC module in VideoLAN VLC Media Player through 3.0.17.4… Also affects vlc
- CVE-2012-1775 Stack-based buffer overflow in VideoLAN VLC media player before 2.0.1 allows remote… Also affects vlc
- CVE-2011-0531 demux/mkv/mkv.hpp in the MKV demuxer plugin in VideoLAN VLC media player 1.1.6.1 and… Also affects vlc
- CVE-2008-5036 Stack-based buffer overflow in VideoLAN VLC media player 0.9.x before 0.9.6 might allow… Also affects vlc
- CVE-2008-5032 Stack-based buffer overflow in VideoLAN VLC media player 0.5.0 through 0.9.5 might allow… Also affects vlc
- CVE-2008-4654 Stack-based buffer overflow in the parse_master function in the Ty demux plugin… Also affects vlc
- CVE-2008-3794 Integer signedness error in the mms_ReceiveCommand function in modules/access/mms/mmstu.c… Also affects vlc