Description
FFmpeg through 9.0.2 contains a stack exhaustion vulnerability in av_encryption_init_info_free() in libavutil/encryption_info.c, which recursively frees AVEncryptionInitInfo linked lists built by the MOV demuxer's mov_read_pssh(). Attackers can supply a crafted MP4 file with tens of thousands of small pssh boxes to exhaust the stack and crash the process, while also causing quadratic CPU consumption.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
FFmpeg FFmpeg
Default version status: unaffected
0 to ≤ 9.0.2affected
pkg:github/ffmpeg/ffmpegReferences
- https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24593 ↗
- https://github.com/FFmpeg/FFmpeg/blob/n9.0.2/libavutil/encryption_info.c#L219-L231 ↗
- https://github.com/FFmpeg/FFmpeg/blob/n9.0.2/libavformat/mov.c#L8070 ↗
- https://ffmpeg.org/ ↗
- https://www.vulncheck.com/advisories/ffmpeg-through-9.0.2-stack-exhaustion-via-recursive-free-of-pssh-boxes ↗