Cloudanix VulnDB

CVE-2023-47359

Critical · 9.8

CVSS

9.8

EPSS

1.1%

Published

Nov 7, 2023

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A popular media player can be tricked into letting attackers take over your computer if you open a specially made video or audio file.

Exploit Available
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

  1. Craft malicious media file or stream with manipulated packet offsets
  2. Deliver the file via email, web download, or network stream
  3. Victim opens the file in the vulnerable VLC player
  4. GetPacket() processes the malformed input and triggers heap overflow
  5. 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