CVE-2020-36138
📋 TL;DR
This vulnerability in FFmpeg's TIFF decoder allows remote attackers to cause a denial of service by exploiting a NULL pointer dereference. It affects systems using FFmpeg to process TIFF images, potentially crashing media processing applications. The issue is in the decode_frame function in libavcodec/tiff.c.
💻 Affected Systems
- FFmpeg
📦 What is this software?
Ffmpeg by Ffmpeg
⚠️ Risk & Real-World Impact
Worst Case
Complete application crash leading to service unavailability, potentially affecting media processing pipelines or web services that handle TIFF uploads.
Likely Case
Application crash when processing malicious TIFF files, causing temporary service disruption until restart.
If Mitigated
Minimal impact with proper input validation and sandboxing; crashes would be contained to isolated processes.
🎯 Exploit Status
Exploitation requires providing a malicious TIFF file to FFmpeg's TIFF decoder. The vulnerability is well-documented with public proof-of-concept available.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Fixed in FFmpeg commit 292e41ce650a7b5ca5de4ae87fff0d6a90d9fc97 and later versions
Vendor Advisory: https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2020-November/272001.html
Restart Required: Yes
Instructions:
1. Update FFmpeg to version 4.3.1 or later. 2. Rebuild any applications using FFmpeg libraries. 3. Restart affected services.
🔧 Temporary Workarounds
Disable TIFF decoding
allDisable TIFF codec support in FFmpeg configuration
Configure FFmpeg with --disable-decoder=tiff during build
Input validation
allReject TIFF files at application level before passing to FFmpeg
🧯 If You Can't Patch
- Implement strict input validation for TIFF files before processing
- Run FFmpeg in isolated containers with resource limits to contain crashes
🔍 How to Verify
Check if Vulnerable:
Check FFmpeg version: ffmpeg -version | grep 'version' and verify if it's 4.3.0 or earlier unpatched versions
Check Version:
ffmpeg -version | grep 'version'
Verify Fix Applied:
Verify FFmpeg version is 4.3.1 or later, or check if commit 292e41ce650a7b5ca5de4ae87fff0d6a90d9fc97 is included
📡 Detection & Monitoring
Log Indicators:
- FFmpeg process crashes with segmentation faults
- Application logs showing TIFF processing failures
Network Indicators:
- Unusual TIFF file uploads to media processing endpoints
SIEM Query:
process.name:ffmpeg AND event.action:crash OR process.name:ffmpeg AND error.message:*segmentation*fault*
🔗 References
- https://github.com/FFmpeg/FFmpeg/commit/292e41ce650a7b5ca5de4ae87fff0d6a90d9fc97
- https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2020-November/272001.html
- https://trac.ffmpeg.org/ticket/8960
- https://github.com/FFmpeg/FFmpeg/commit/292e41ce650a7b5ca5de4ae87fff0d6a90d9fc97
- https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2020-November/272001.html
- https://trac.ffmpeg.org/ticket/8960