CVE-2020-22015

8.8 HIGH

📋 TL;DR

This buffer overflow vulnerability in FFmpeg's MOV file handling allows attackers to execute arbitrary code, cause denial of service, or leak sensitive information by crafting malicious video files. It affects FFmpeg 4.2 and systems using this library for video processing. Remote attackers can exploit this by tricking users into processing malicious media files.

💻 Affected Systems

Products:
  • FFmpeg
Versions: FFmpeg 4.2
Operating Systems: Linux, Windows, macOS, BSD
Default Config Vulnerable: ⚠️ Yes
Notes: Any application using FFmpeg 4.2 for MOV file processing is vulnerable. This includes media servers, video editors, and web applications with video processing features.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution with the privileges of the FFmpeg process, potentially leading to full system compromise.

🟠

Likely Case

Denial of service through application crashes when processing malicious media files.

🟢

If Mitigated

Limited impact if FFmpeg runs in sandboxed environments with minimal privileges.

🌐 Internet-Facing: HIGH - Attackers can upload malicious media files to web applications using FFmpeg for processing.
🏢 Internal Only: MEDIUM - Requires users to process malicious files, which could occur through phishing or compromised internal systems.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability is in a widely used library with public details available. Crafting malicious MOV files requires moderate technical skill but is well-documented.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: FFmpeg 4.2.4 and later

Vendor Advisory: https://trac.ffmpeg.org/ticket/8190

Restart Required: Yes

Instructions:

1. Update FFmpeg to version 4.2.4 or later using your package manager. 2. For Debian/Ubuntu: sudo apt update && sudo apt upgrade ffmpeg. 3. For source installations: download latest source from ffmpeg.org and recompile. 4. Restart all services using FFmpeg.

🔧 Temporary Workarounds

Disable MOV processing

all

Temporarily disable MOV file format support in FFmpeg configuration

ffmpeg -formats | grep mov
Reconfigure applications to reject MOV files

Sandbox FFmpeg execution

linux

Run FFmpeg in container or with reduced privileges

docker run --security-opt no-new-privileges ffmpeg
Use seccomp profiles or AppArmor/SELinux

🧯 If You Can't Patch

  • Implement strict input validation to reject suspicious MOV files before processing
  • Deploy network segmentation to isolate FFmpeg servers from critical systems

🔍 How to Verify

Check if Vulnerable:

Run: ffmpeg -version | grep 'version 4.2' && echo 'Vulnerable if version < 4.2.4'

Check Version:

ffmpeg -version | head -1

Verify Fix Applied:

Run: ffmpeg -version | grep 'version 4.2.4' && echo 'Patched' || echo 'Check version'

📡 Detection & Monitoring

Log Indicators:

  • FFmpeg segmentation faults
  • Memory access violation errors
  • Unexpected process termination

Network Indicators:

  • Unusual MOV file uploads to media processing endpoints
  • Large media files triggering crashes

SIEM Query:

source="*ffmpeg*" AND ("segmentation fault" OR "SIGSEGV" OR "buffer overflow")

🔗 References

📤 Share & Export