{"id":"CVE-2026-125248","kind":"vulnerability","aliases":["CVE-2026-125248"],"related":[],"title":"FFmpeg: integer overflow in Vulkan FFV1 encoder enables out-of-bounds GPU writes","description":"FFmpeg 9.0 through 9.0.2 contains an integer overflow vulnerability in libavcodec/ffv1enc_vulkan.c that undersizes the float remap GPU buffer for large frames. Attackers can supply large GBRPF32 or GBRAPF32 images or videos that, when transcoded to FFV1 with the Vulkan encoder, trigger out-of-bounds GPU memory writes causing crashes or memory corruption.","summary":"FFmpeg 9.0 through 9.0.2 undersizes a GPU buffer in the Vulkan FFV1 encoder when handling large float images or videos. An attacker who supplies a crafted GBRPF32 or GBRAPF32 file can cause out-of-bounds GPU memory writes, leading to crashes or memory corruption.","severity":"high","cvss":7.3,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"ffmpeg","fixed":[],"affected":">= 9.0, <= 9.0.2","ecosystem":"vendor"}],"ecosystems":[],"tags":["ffmpeg","media-processing","package","transcoding","vulkan"],"not_affected_if":["default-config","no-vulkan-encoder","untrusted-input-absent"],"how_to_check":"- Run ffmpeg -version; 9.0 through 9.0.2 is in range.\n- Run ffmpeg -encoders and look for ffv1_vulkan; if absent, the vulnerable encoder is not built in.\n- Check pipelines for -c:v ffv1_vulkan with GBRPF32/GBRAPF32 (float RGB) input from untrusted sources.","fix":"No released fix found. Fix proposed in FFmpeg PR #25136 (open, not merged, milestone 9.1): rejects frames whose float remap data exceeds 4 GiB. Until a release ships, avoid ffv1_vulkan on untrusted input.","status":"open","published_at":"2026-11-09T19:17:03+00:00","first_seen_at":"2026-11-09T19:28:21+00:00","triaged_at":"2026-11-09T19:29:52+00:00","updated_at":"2026-11-09T19:31:53+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-09T19:29:52Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"FFmpeg: integer overflow in Vulkan FFV1 encoder enables out-of-bounds GPU writes","impact":"high","summary":"FFmpeg 9.0 through 9.0.2 undersizes a GPU buffer in the Vulkan FFV1 encoder when handling large float images or videos. An attacker who supplies a crafted GBRPF32 or GBRAPF32 file can cause out-of-bounds GPU memory writes, leading to crashes or memory corruption.","audience":"businesses","category":"package","nicknames":[],"who_cares":["ffmpeg","media-processing","vulkan","transcoding"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker corrupts GPU memory, causing crashes or possible code execution","analyst_note":"Confirm the fixed FFmpeg version and whether the Vulkan FFV1 encoder path is reachable from untrusted input; check the vulncheck advisory and FFmpeg's release notes.","how_to_check":"- Run `ffmpeg -version` and check whether the version falls in `9.0` through `9.0.2`.\n- Check whether FFmpeg is built with Vulkan support and used with the FFV1 Vulkan encoder (`ffv1_vulkan`).","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["default-config","no-vulkan-encoder","untrusted-input-absent"],"who_is_affected":"Only builds of FFmpeg 9.0 through 9.0.2 that transcode to FFV1 with the Vulkan encoder on large GBRPF32 or GBRAPF32 inputs are exposed. Systems that only use other codecs, CPU encoders, or do not process untrusted media can skip it. The sources do not state a fixed version.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000804,"input_tokens":4647,"output_tokens":678,"severity_before":"high"},"analyst_status":"done","analyst_note":"Confirm the fixed FFmpeg version and whether the Vulkan FFV1 encoder path is reachable from untrusted input; check the vulncheck advisory and FFmpeg's release notes.","search":"'-125248':17A,20A '-2026':16A,19A '9.0':30B,75C '9.0.2':32B,77C 'attack':50B,95C 'bound':12A,64B,118C 'buffer':36B,91C 'caus':60B,122C 'contain':78C 'corrupt':73B,126C 'craft':54B 'crash':70B,123C 'cve':15A,18A 'enabl':8A 'encod':7A,41B,113C 'ffmpeg':1A,21A,22B,29B,74C 'ffv1':6A,40B,109C 'file':58B 'float':45B,88C 'frame':94C 'gbrapf32':57B,101C 'gbrpf32':55B,99C 'gpu':13A,35B,65B,90C,119C 'handl':43B 'imag':46B,102C 'integ':2A,80C 'larg':44B,93C,98C 'lead':68B 'libavcodec/ffv1enc_vulkan.c':84C 'media':24B 'media-process':23B 'memori':66B,72B,120C,125C 'out-of-bound':9A,61B,115C 'overflow':3A,81C 'packag':26B 'process':25B 'remap':89C 'suppli':52B,97C 'transcod':27B,107C 'trigger':114C 'unders':33B,86C 'video':48B,104C 'vulkan':5A,28B,39B,112C 'vulner':82C 'write':14A,67B,121C","nicknames":[],"mitigations":[],"who_affected":"Only builds of FFmpeg 9.0 through 9.0.2 that transcode to FFV1 with the Vulkan encoder on large GBRPF32 or GBRAPF32 inputs are exposed. Systems that only use other codecs, CPU encoders, or do not process untrusted media can skip it. The sources do not state a fixed version.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":["ffmpeg"],"ptokens":["ffmpeg"],"labels":["ffmpeg","high","mediaprocessing","package","transcoding","vulkan"],"campaign_type":null,"search_a":"'-125248':17A,20A '-2026':16A,19A 'bound':12A 'cve':15A,18A 'enabl':8A 'encod':7A 'ffmpeg':1A,21A 'ffv1':6A 'gpu':13A 'integ':2A 'out-of-bound':9A 'overflow':3A 'vulkan':5A 'write':14A","search_b":"'9.0':30B '9.0.2':32B 'attack':50B 'bound':64B 'buffer':36B 'caus':60B 'corrupt':73B 'craft':54B 'crash':70B 'encod':41B 'ffmpeg':22B,29B 'ffv1':40B 'file':58B 'float':45B 'gbrapf32':57B 'gbrpf32':55B 'gpu':35B,65B 'handl':43B 'imag':46B 'larg':44B 'lead':68B 'media':24B 'media-process':23B 'memori':66B,72B 'out-of-bound':61B 'packag':26B 'process':25B 'suppli':52B 'transcod':27B 'unders':33B 'video':48B 'vulkan':28B,39B 'write':67B","search_c":"'9.0':75C '9.0.2':77C 'attack':95C 'bound':118C 'buffer':91C 'caus':122C 'contain':78C 'corrupt':126C 'crash':123C 'encod':113C 'ffmpeg':74C 'ffv1':109C 'float':88C 'frame':94C 'gbrapf32':101C 'gbrpf32':99C 'gpu':90C,119C 'imag':102C 'integ':80C 'larg':93C,98C 'libavcodec/ffv1enc_vulkan.c':84C 'memori':120C,125C 'out-of-bound':115C 'overflow':81C 'remap':89C 'suppli':97C 'transcod':107C 'trigger':114C 'unders':86C 'video':104C 'vulkan':112C 'vulner':82C 'write':121C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-09T19:17:03+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-125248","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-125248","severity":null,"published_at":"2026-11-09T19:17:03+00:00","modified_at":"2026-11-09T19:17:03+00:00","first_seen_at":"2026-11-09T19:28:21+00:00","fetched_at":"2026-11-09T19:28:21+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-125248:2320","url":"https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/25136","severity":null,"published_at":"2026-11-09T19:31:53+00:00","modified_at":"2026-11-09T19:31:53+00:00","first_seen_at":"2026-11-09T19:31:53+00:00","fetched_at":"2026-11-09T19:31:53+00:00","note":"Primary: vulncheck advisory (third-party) + FFmpeg PR 25136 (open, unmerged, 9.1 milestone) which fixes the FFV1 Vulkan remap overflow (>4 GiB). No released fixed version; no FFmpeg advisory found. Exa out of credits so no social search. Nothing verified.","cites":["https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/25136"]}],"documents":[{"id":109386,"url":"https://www.vulncheck.com/advisories/ffmpeg-9.0-through-9.0.2-integer-overflow-via-ffv1-vulkan-encoder-remap-buffer","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"},{"id":109481,"url":"https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/25136","title":"FFmpeg PR 25136: libavcodec fixes (HEVC/AV1 hwaccel tile arrays, Vulkan) - open","kind":"issue","source":"analyst","publisher":null,"text":"Open PR into master, milestone FFmpeg 9.1 branching, 0/1 approvals. Commit 21017c72db: vdpau_hevc rejects tile counts the VDPAU picture info cannot hold. Also vaapi, dxva2, vulkan HEVC tile-count checks. Each commit message cites a security report from AISLE.","published_at":null,"relation":"fix","confidence":null,"note":null}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}