CVE-2020-13428
📋 TL;DR
A heap-based buffer overflow vulnerability in VLC media player's H.264 video processing allows remote attackers to crash the application or execute arbitrary code by tricking users into opening a malicious video file. This affects VLC versions before 3.0.11 on macOS and iOS systems. Attackers could potentially gain control of affected systems.
💻 Affected Systems
- VideoLAN VLC media player
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Remote code execution leading to full system compromise, data theft, or ransomware deployment.
Likely Case
Application crash (denial of service) when users open malicious video files, potentially disrupting media playback workflows.
If Mitigated
No impact if patched version is used or if users avoid opening untrusted video files.
🎯 Exploit Status
Exploitation requires user interaction (opening malicious file) but no authentication. No public proof-of-concept has been disclosed.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.0.11 and later
Vendor Advisory: https://www.videolan.org/security/sb-vlc3011.html
Restart Required: Yes
Instructions:
1. Download VLC 3.0.11 or later from official VideoLAN website. 2. Uninstall previous VLC version. 3. Install the new version. 4. Restart the system.
🔧 Temporary Workarounds
Disable H.264 video processing
allTemporarily disable H.264 video support in VLC settings to prevent exploitation
Use alternative media player
allUse a different media player until VLC is updated
🧯 If You Can't Patch
- Restrict user permissions to prevent execution of arbitrary code
- Implement application whitelisting to block VLC execution
🔍 How to Verify
Check if Vulnerable:
Check VLC version: Open VLC → Help → About. If version is below 3.0.11, system is vulnerable.
Check Version:
On macOS: /Applications/VLC.app/Contents/MacOS/VLC --version | head -1
Verify Fix Applied:
Verify VLC version is 3.0.11 or higher in About dialog. Test with known safe H.264 files to ensure functionality.
📡 Detection & Monitoring
Log Indicators:
- VLC crash logs with segmentation faults
- Unexpected termination of VLC process
- Memory access violation errors in system logs
Network Indicators:
- Downloads of .avi or other video files from untrusted sources
- Unusual outbound connections after VLC execution
SIEM Query:
process_name:"VLC" AND (event_type:"crash" OR exit_code:139 OR exit_code:-1073741819)
🔗 References
- http://git.videolan.org/?p=vlc/vlc-3.0.git%3Ba=commit%3Bh=d5c43c21c747ff30ed19fcca745dea3481c733e0
- https://github.com/videolan/vlc-3.0/releases/tag/3.0.11
- https://github.com/videolan/vlc/commits/master/modules/packetizer/hxxx_nal.c
- https://www.debian.org/security/2020/dsa-4704
- https://www.videolan.org/security/sb-vlc3011.html
- http://git.videolan.org/?p=vlc/vlc-3.0.git%3Ba=commit%3Bh=d5c43c21c747ff30ed19fcca745dea3481c733e0
- https://github.com/videolan/vlc-3.0/releases/tag/3.0.11
- https://github.com/videolan/vlc/commits/master/modules/packetizer/hxxx_nal.c
- https://www.debian.org/security/2020/dsa-4704
- https://www.videolan.org/security/sb-vlc3011.html