CVE-2021-33815

8.8 HIGH

📋 TL;DR

This vulnerability in FFmpeg's EXR image decoder allows out-of-bounds array access due to insufficient validation of the dc_count parameter. Attackers can exploit this to potentially execute arbitrary code or cause denial of service by processing specially crafted EXR image files. Systems using FFmpeg 4.4 for media processing are affected.

💻 Affected Systems

Products:
  • FFmpeg
Versions: FFmpeg 4.4
Operating Systems: Linux, Windows, macOS, BSD
Default Config Vulnerable: ⚠️ Yes
Notes: Any application or service using FFmpeg 4.4 to process EXR image files is vulnerable. This includes media servers, content management systems, and video editing software.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, data theft, or ransomware deployment.

🟠

Likely Case

Application crash causing denial of service, potentially disrupting media processing workflows.

🟢

If Mitigated

Contained application crash with no privilege escalation if proper sandboxing and least privilege are implemented.

🌐 Internet-Facing: HIGH - FFmpeg is commonly used in web applications for media processing, making internet-facing systems vulnerable to file upload attacks.
🏢 Internal Only: MEDIUM - Internal systems processing user-uploaded media or automated media conversion pipelines are at risk.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: MEDIUM

Exploitation requires crafting a malicious EXR file, but no public proof-of-concept has been released. The vulnerability is in a widely used library, increasing potential for weaponization.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: FFmpeg 4.4.1 and later

Vendor Advisory: https://github.com/FFmpeg/FFmpeg/commit/26d3c81bc5ef2f8c3f09d45eaeacfb4b1139a777

Restart Required: Yes

Instructions:

1. Update FFmpeg to version 4.4.1 or later using your package manager. 2. For Linux: 'sudo apt update && sudo apt upgrade ffmpeg' (Debian/Ubuntu) or 'sudo yum update ffmpeg' (RHEL/CentOS). 3. Restart any services using FFmpeg.

🔧 Temporary Workarounds

Disable EXR decoder

all

Temporarily disable FFmpeg's EXR image decoder to prevent exploitation while patching.

ffmpeg -disable-decoder=exr

Input validation

all

Implement file type validation to reject EXR files at application level.

🧯 If You Can't Patch

  • Implement strict file upload controls and sandbox FFmpeg processes with minimal privileges.
  • Deploy network segmentation to isolate media processing systems and monitor for anomalous behavior.

🔍 How to Verify

Check if Vulnerable:

Run 'ffmpeg -version' and check if version is 4.4. Also check if EXR decoder is enabled with 'ffmpeg -decoders | grep exr'.

Check Version:

ffmpeg -version | head -1

Verify Fix Applied:

After update, confirm version is 4.4.1 or later with 'ffmpeg -version' and test processing a valid EXR file.

📡 Detection & Monitoring

Log Indicators:

  • FFmpeg segmentation faults or abnormal termination when processing EXR files
  • High memory usage or CPU spikes in FFmpeg processes

Network Indicators:

  • Unusual EXR file uploads to media processing endpoints
  • Outbound connections from FFmpeg processes

SIEM Query:

process.name:ffmpeg AND (event.action:segfault OR event.outcome:failure)

🔗 References

📤 Share & Export