CVE-2020-26664
📋 TL;DR
This vulnerability allows attackers to execute arbitrary code on systems running vulnerable versions of VLC media player by tricking users into opening a specially crafted .mkv file. The heap-based buffer overflow can lead to remote code execution. All users of VLC 3.0.11 and potentially earlier versions are affected.
💻 Affected Systems
- VideoLAN VLC media player
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution with system-level privileges, potentially leading to complete system compromise, data theft, or ransomware deployment.
Likely Case
Application crash (denial of service) or limited code execution within the VLC process context.
If Mitigated
Application crash with no further impact if proper sandboxing or exploit mitigations are in place.
🎯 Exploit Status
Exploit requires user to open malicious .mkv file. Public proof-of-concept exists in the referenced gist.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.0.12 and later
Vendor Advisory: http://videolan.com/security/sb-vlc3012.html
Restart Required: No
Instructions:
1. Download latest VLC version from official website. 2. Uninstall old version. 3. Install new version. 4. Verify version is 3.0.12 or higher.
🔧 Temporary Workarounds
Disable MKV file association
allPrevent VLC from automatically opening .mkv files
Windows: Control Panel > Default Programs > Associate file type > Change .mkv to another player
Linux: update-alternatives --config x-www-browser
macOS: Right-click .mkv > Get Info > Open With > Change All
Use application sandboxing
allRun VLC in restricted environment
Linux: firejail vlc
Windows: Sandboxie
macOS: sandbox-exec
🧯 If You Can't Patch
- Block .mkv files at network perimeter/email filters
- Educate users not to open untrusted media files
🔍 How to Verify
Check if Vulnerable:
Check VLC version: Help > About (GUI) or vlc --version (CLI). If version is 3.0.11 or earlier, system is vulnerable.
Check Version:
vlc --version | head -1
Verify Fix Applied:
Confirm VLC version is 3.0.12 or higher using same commands.
📡 Detection & Monitoring
Log Indicators:
- VLC crash logs
- Application error events mentioning VLC
- Heap corruption errors in system logs
Network Indicators:
- Downloads of .mkv files from untrusted sources
- Unusual outbound connections after VLC execution
SIEM Query:
EventID=1000 OR EventID=1001 AND ProcessName="vlc.exe" OR Source="VLC" AND Keywords="Crash"
🔗 References
- http://videolan.com
- http://vlc.com
- https://gist.githubusercontent.com/henices/db11664dd45b9f322f8514d182aef5ea/raw/d56940c8bf211992bf4f3309a85bb2b69383e511/CVE-2020-26664.txt
- https://lists.debian.org/debian-lts-announce/2022/06/msg00012.html
- https://security.gentoo.org/glsa/202101-37
- https://www.debian.org/security/2021/dsa-4834
- http://videolan.com
- http://vlc.com
- https://gist.githubusercontent.com/henices/db11664dd45b9f322f8514d182aef5ea/raw/d56940c8bf211992bf4f3309a85bb2b69383e511/CVE-2020-26664.txt
- https://lists.debian.org/debian-lts-announce/2022/06/msg00012.html
- https://security.gentoo.org/glsa/202101-37
- https://www.debian.org/security/2021/dsa-4834