{"id":"CVE-2026-125260","kind":"vulnerability","aliases":["CVE-2026-125260"],"related":[],"title":"FFmpeg: crafted OpenEXR encoding overflows heap memory and crashes apps","description":"FFmpeg through 9.0.2 contains a heap buffer overflow vulnerability in libavcodec/exrenc.c that allows attackers to corrupt heap memory when encode_scanline_rle() processes frames taller than the encoder height. Attackers can supply crafted input whose resolution grows mid-stream, transcoded to OpenEXR with RLE compression, to write pointers past the scanline array and crash the application.","summary":"FFmpeg's OpenEXR encoder in libavcodec/exrenc.c writes past a heap scanline buffer when frame height grows mid-stream with RLE compression. An attacker who supplies crafted media can corrupt heap memory and crash the application.","severity":"high","cvss":7.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ffmpeg","media-processing","package","transcoding"],"not_affected_if":["no-exr-encoding","trusted-input-only"],"how_to_check":"- Check the FFmpeg version with `ffmpeg -version`; the sources say versions through 9.0.2 are affected.\n- Look for services that transcode user-supplied media to OpenEXR with RLE compression, such as `-c:v exr` with RLE output.","fix":"- Move to a FFmpeg release newer than 9.0.2; the sources do not name the fixed version.","status":"open","published_at":"2026-11-09T20:18:12+00:00","first_seen_at":"2026-11-09T20:48:13+00:00","triaged_at":"2026-11-09T20:49:43+00:00","updated_at":"2026-11-09T20:49:43+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-09T20:49:43Z","model":"claude-haiku-5-5","output":{"fix":"- Move to a FFmpeg release newer than 9.0.2; the sources do not name the fixed version.","reach":"internet","title":"FFmpeg: crafted OpenEXR encoding overflows heap memory and crashes apps","impact":"medium","summary":"FFmpeg's OpenEXR encoder in libavcodec/exrenc.c writes past a heap scanline buffer when frame height grows mid-stream with RLE compression. An attacker who supplies crafted media can corrupt heap memory and crash the application.","audience":"businesses","category":"package","nicknames":[],"who_cares":["ffmpeg","media-processing","transcoding"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker crashes the application through heap memory corruption.","analyst_note":"Confirm the fixed FFmpeg version and whether code execution is possible; check the linked patch on github.com and the vulncheck advisory.","how_to_check":"- Check the FFmpeg version with `ffmpeg -version`; the sources say versions through 9.0.2 are affected.\n- Look for services that transcode user-supplied media to OpenEXR with RLE compression, such as `-c:v exr` with RLE output.","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["no-exr-encoding","trusted-input-only"],"who_is_affected":"Systems that run FFmpeg to encode OpenEXR output from untrusted input, where resolution can change mid-stream. Applications that only process trusted media or never encode EXR can skip it. The sources do not describe the exact entry point beyond encode_scanline_rle().","user_interaction":"no","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000768,"input_tokens":4641,"output_tokens":607,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-125260':13A,16A '-2026':12A,15A '9.0.2':61C 'allow':71C 'app':10A 'applic':58B,115C 'array':111C 'attack':46B,72C,88C 'buffer':34B,65C 'compress':44B,104C 'contain':62C 'corrupt':52B,74C 'craft':2A,49B,91C 'crash':9A,56B,113C 'cve':11A,14A 'encod':4A,26B,78C,86C 'ffmpeg':1A,17B,23B,59C 'frame':36B,82C 'grow':38B,95C 'heap':6A,32B,53B,64C,75C 'height':37B,87C 'input':92C 'libavcodec/exrenc.c':28B,69C 'media':19B,50B 'media-process':18B 'memori':7A,54B,76C 'mid':40B,97C 'mid-stream':39B,96C 'openexr':3A,25B,101C 'overflow':5A,66C 'packag':21B 'past':30B,108C 'pointer':107C 'process':20B,81C 'resolut':94C 'rle':43B,80C,103C 'scanlin':33B,79C,110C 'stream':41B,98C 'suppli':48B,90C 'taller':83C 'transcod':22B,99C 'vulner':67C 'whose':93C 'write':29B,106C","nicknames":[],"mitigations":[],"who_affected":"Systems that run FFmpeg to encode OpenEXR output from untrusted input, where resolution can change mid-stream. Applications that only process trusted media or never encode EXR can skip it. The sources do not describe the exact entry point beyond encode_scanline_rle().","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["ffmpeg","high","mediaprocessing","package","transcoding"],"campaign_type":null,"search_a":"'-125260':13A,16A '-2026':12A,15A 'app':10A 'craft':2A 'crash':9A 'cve':11A,14A 'encod':4A 'ffmpeg':1A 'heap':6A 'memori':7A 'openexr':3A 'overflow':5A","search_b":"'applic':58B 'attack':46B 'buffer':34B 'compress':44B 'corrupt':52B 'craft':49B 'crash':56B 'encod':26B 'ffmpeg':17B,23B 'frame':36B 'grow':38B 'heap':32B,53B 'height':37B 'libavcodec/exrenc.c':28B 'media':19B,50B 'media-process':18B 'memori':54B 'mid':40B 'mid-stream':39B 'openexr':25B 'packag':21B 'past':30B 'process':20B 'rle':43B 'scanlin':33B 'stream':41B 'suppli':48B 'transcod':22B 'write':29B","search_c":"'9.0.2':61C 'allow':71C 'applic':115C 'array':111C 'attack':72C,88C 'buffer':65C 'compress':104C 'contain':62C 'corrupt':74C 'craft':91C 'crash':113C 'encod':78C,86C 'ffmpeg':59C 'frame':82C 'grow':95C 'heap':64C,75C 'height':87C 'input':92C 'libavcodec/exrenc.c':69C 'memori':76C 'mid':97C 'mid-stream':96C 'openexr':101C 'overflow':66C 'past':108C 'pointer':107C 'process':81C 'resolut':94C 'rle':80C,103C 'scanlin':79C,110C 'stream':98C 'suppli':90C 'taller':83C 'transcod':99C 'vulner':67C 'whose':93C 'write':106C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-09T20:18:12+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-125260","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-125260","severity":null,"published_at":"2026-11-09T20:18:12+00:00","modified_at":"2026-11-09T20:18:12+00:00","first_seen_at":"2026-11-09T20:48:13+00:00","fetched_at":"2026-11-09T20:48:13+00:00","note":null}],"documents":[{"id":109298,"url":"https://github.com/FFmpeg/FFmpeg/commit/9b99973b2bbecee0b7e1e57035b95498b42f54a6","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":109732,"url":"https://www.vulncheck.com/advisories/ffmpeg-through-9.0.2-heap-buffer-overflow-in-exr-encoder-rle-path","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"}],"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"}