FFmpeg before 9.0 has a signed integer overflow in libavformat/mov.c. In mov_read_ispe(), uint32_t width/height values from a crafted HEIF ispe box are stored into signed int fields without bounds checking, allowing values exceeding INT_MAX to become negative. In read_image_grid(), accumulating these values causes signed integer overflow (undefined behavior per C17 section 6.5), which on x86 wraps to a small positive value, bypassing downstream validity checks.
Fix
Patch, vendor advisory and mitigation references on NVD 2
- https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/059eb2e853c1f62b8df1b73be9318061a7a21b0b Patch
- https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23455 Issue Tracking, Patch
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 7.8 · ffmpegNVD modified 2026-10-15 19:43
Affected (CPE criteria) 1
cpe:2.3:a:ffmpeg:ffmpeg:*:*:*:*:*:*:*:*