CVE-2023-50010

7.8 HIGH

📋 TL;DR

This CVE describes a buffer over-read vulnerability in FFmpeg's gradfun filter SSE2 optimization. Attackers can exploit this to read memory beyond allocated buffers, potentially leaking sensitive information or causing crashes. Systems using vulnerable FFmpeg versions for video processing are affected.

💻 Affected Systems

Products:
  • FFmpeg
Versions: FFmpeg v.n6.1-3-g466799d4f5 and potentially earlier versions
Operating Systems: Linux, Windows, macOS, BSD
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability is in the gradfun filter SSE2 optimization code; systems using this filter are vulnerable. The vulnerability was introduced in specific commits and fixed in later commits.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Information disclosure leading to memory content leakage, potential remote code execution through memory corruption, or denial of service causing application crashes.

🟠

Likely Case

Application crashes or denial of service when processing specially crafted video files, with possible information disclosure from memory reads.

🟢

If Mitigated

Limited impact with proper sandboxing and memory protection mechanisms in place, likely resulting only in crashes.

🌐 Internet-Facing: MEDIUM - Exploitation requires processing malicious video files, which could be uploaded to web services or media processing applications.
🏢 Internal Only: LOW - Requires local access or ability to feed malicious video files to FFmpeg processes.

🎯 Exploit Status

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

Exploitation requires crafting malicious video files that trigger the buffer over-read in the gradfun filter processing.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in commits e4d2666bdc3dbd177a81bbf428654a5f2fa3787a and e809c23786fe297797198a7b9f5d3392d581daf1

Vendor Advisory: https://ffmpeg.org/

Restart Required: Yes

Instructions:

1. Update FFmpeg to latest version from official repository. 2. Apply patches from FFmpeg git commits e4d2666bdc3dbd177a81bbf428654a5f2fa3787a and e809c23786fe297797198a7b9f5d3392d581daf1. 3. Recompile if using source builds. 4. Restart all services using FFmpeg.

🔧 Temporary Workarounds

Disable gradfun filter

all

Prevent use of the vulnerable gradfun filter in FFmpeg processing pipelines

ffmpeg -i input.mp4 -vf "gradfun=disable=1" output.mp4

Disable SSE2 optimizations

linux

Compile FFmpeg without SSE2 optimizations to avoid the vulnerable code path

./configure --disable-sse2
make clean
make
make install

🧯 If You Can't Patch

  • Implement strict input validation for video files before FFmpeg processing
  • Run FFmpeg in sandboxed/containerized environments with limited memory access

🔍 How to Verify

Check if Vulnerable:

Check FFmpeg version and commit hash: ffmpeg -version | grep 'version\|commit'

Check Version:

ffmpeg -version | head -5

Verify Fix Applied:

Verify FFmpeg version is after fixed commits or test with known malicious video samples

📡 Detection & Monitoring

Log Indicators:

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

Network Indicators:

  • Unusual video file uploads to media processing services
  • Repeated FFmpeg process crashes

SIEM Query:

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

🔗 References

📤 Share & Export