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.
{
"cna_assigner": "mitre",
"cwe_ids": [
"CWE-190"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/96xxx/CVE-2026-96611.json"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-96611.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "95585342688571589449512382820310933372",
"length": 1096
},
"id": "CVE-2026-96611-2a07b12d",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/ffmpeg/ffmpeg/commit/d32b387f2b0a484599d4587d651891f0c63c4238",
"target": {
"file": "libavformat/rawutils.c",
"function": "ff_reshuffle_raw_rgb"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"195688002327067465305765588221319015242",
"309288324102816931239308632619998175099",
"208198982209572275918917816535860937592",
"231555107084919634110330250551123341431",
"168010716807985158773806969924424380093",
"204275076296265396432751791373547480918",
"230743041424433407137898346131591666852",
"121645463046297428931382762675379161144",
"64606519716965107927271010747911179138",
"73767112427060832523002513151109600034",
"219167262246002076747638059747044171272"
],
"threshold": 0.9
},
"id": "CVE-2026-96611-5f4309c9",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/ffmpeg/ffmpeg/commit/d32b387f2b0a484599d4587d651891f0c63c4238",
"target": {
"file": "libavformat/rawutils.c"
}
}
]
"2026-09-25T08:27:30Z"