CVE-2023-50010
📋 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
- FFmpeg
📦 What is this software?
Fedora by Fedoraproject
Fedora by Fedoraproject
Fedora by Fedoraproject
Ffmpeg by Ffmpeg
⚠️ 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.
🎯 Exploit Status
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
allPrevent use of the vulnerable gradfun filter in FFmpeg processing pipelines
ffmpeg -i input.mp4 -vf "gradfun=disable=1" output.mp4
Disable SSE2 optimizations
linuxCompile 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
- https://ffmpeg.org/
- https://git.ffmpeg.org/gitweb/ffmpeg.git/blobdiff/ab0fdaedd1e7224f7e84ea22fcbfaa4ca75a6c06..e4d2666bdc3dbd177a81bbf428654a5f2fa3787a:/libavfilter/vf_gradfun.c
- https://github.com/FFmpeg/FFmpeg/commit/e4d2666bdc3dbd177a81bbf428654a5f2fa3787a
- https://github.com/FFmpeg/FFmpeg/commit/e809c23786fe297797198a7b9f5d3392d581daf1
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/6G7EYH2JAK5OJPVNC6AXYQ5K7YGYNCDN/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/IPETICRXUOGRIM4U3BCRTIKE3IZWCSBT/
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/LE3ASLH6QF2E5OVJI5VA3JSEPJFFFMNY/
- https://trac.ffmpeg.org/ticket/10702
- https://ffmpeg.org/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/6G7EYH2JAK5OJPVNC6AXYQ5K7YGYNCDN/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/IPETICRXUOGRIM4U3BCRTIKE3IZWCSBT/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/LE3ASLH6QF2E5OVJI5VA3JSEPJFFFMNY/
- https://trac.ffmpeg.org/ticket/10702