{"id":"CVE-2026-125203","kind":"vulnerability","aliases":["CVE-2026-125203"],"related":[],"title":"FFmpeg: crafted RealMedia Cook file overflows heap during decoding","description":"FFmpeg before 8.1.3 and 9.x before 9.0.2 contains a heap buffer overflow vulnerability in the Cook multichannel decoder in libavcodec/cook.c that fails to verify subpacket channel masks are disjoint. Attackers can supply a crafted RealMedia Cook stream with overlapping subpacket masks, causing cook_decode_frame() to write decoded samples beyond allocated output planes in any application decoding the file.","summary":"FFmpeg's Cook multichannel decoder does not check that subpacket channel masks are disjoint, so a crafted RealMedia Cook stream makes it write decoded samples past allocated buffers. An attacker who gets a victim to decode such a file can corrupt memory, which may lead to code execution in the application doing the decoding.","severity":"high","cvss":8.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ffmpeg","libavcodec","media-processing","package"],"not_affected_if":["fixed-version","no-realmedia-decoding"],"how_to_check":"- Check the installed FFmpeg version with `ffmpeg -version`; affected builds are before `8.1.3` on the 8.x line and before `9.0.2` on the 9.x line.\n- Find applications that link libavcodec or shell out to ffmpeg to decode media, especially ones that accept user-uploaded RealMedia files.","fix":"- FFmpeg `8.1.3` for the 8.x line\n- FFmpeg `9.0.2` for the 9.x line","status":"open","published_at":"2026-11-09T19:16:56+00:00","first_seen_at":"2026-11-09T19:28:18+00:00","triaged_at":"2026-11-09T19:29:34+00:00","updated_at":"2026-11-09T19:29:34+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-09T19:29:34Z","model":"claude-haiku-5-5","output":{"fix":"- FFmpeg `8.1.3` for the 8.x line\n- FFmpeg `9.0.2` for the 9.x line","reach":"local","title":"FFmpeg: crafted RealMedia Cook file overflows heap during decoding","impact":"high","summary":"FFmpeg's Cook multichannel decoder does not check that subpacket channel masks are disjoint, so a crafted RealMedia Cook stream makes it write decoded samples past allocated buffers. An attacker who gets a victim to decode such a file can corrupt memory, which may lead to code execution in the application doing the decoding.","audience":"businesses","category":"package","nicknames":[],"who_cares":["ffmpeg","libavcodec","media-processing"],"confidence":0.7,"fix_status":"available","needs_auth":"no","worst_case":"attacker may run code within the decoding process","analyst_note":"","how_to_check":"- Check the installed FFmpeg version with `ffmpeg -version`; affected builds are before `8.1.3` on the 8.x line and before `9.0.2` on the 9.x line.\n- Find applications that link libavcodec or shell out to ffmpeg to decode media, especially ones that accept user-uploaded RealMedia files.","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["no-realmedia-decoding","fixed-version"],"who_is_affected":"Any application that decodes RealMedia Cook audio with FFmpeg's libavcodec is exposed, most of all services that process media files from users or the internet. Systems that never decode RealMedia or use FFmpeg only on trusted local files are lower risk and can be skipped after confirming the version.","user_interaction":"yes","product_ecosystem":"","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000772,"input_tokens":4657,"output_tokens":613,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-125203':12A,15A '-2026':11A,14A '8.1.3':78C '9':80C '9.0.2':83C 'alloc':48B,127C 'applic':72B,132C 'attack':51B,106C 'beyond':126C 'buffer':49B,87C 'caus':118C 'channel':32B,102C 'check':29B 'code':68B 'contain':84C 'cook':4A,24B,40B,92C,112C,119C 'corrupt':62B 'craft':2A,38B,110C 'cve':10A,13A 'decod':9A,26B,45B,57B,75B,94C,120C,124C,133C 'disjoint':35B,105C 'execut':69B 'fail':98C 'ffmpeg':1A,16B,22B,76C 'file':5A,60B,135C 'frame':121C 'get':53B 'heap':7A,86C 'lead':66B 'libavcodec':17B 'libavcodec/cook.c':96C 'make':42B 'mask':33B,103C,117C 'may':65B 'media':19B 'media-process':18B 'memori':63B 'multichannel':25B,93C 'output':128C 'overflow':6A,88C 'overlap':115C 'packag':21B 'past':47B 'plane':129C 'process':20B 'realmedia':3A,39B,111C 'sampl':46B,125C 'stream':41B,113C 'subpacket':31B,101C,116C 'suppli':108C 'verifi':100C 'victim':55B 'vulner':89C 'write':44B,123C 'x':81C","nicknames":[],"mitigations":[],"who_affected":"Any application that decodes RealMedia Cook audio with FFmpeg's libavcodec is exposed, most of all services that process media files from users or the internet. Systems that never decode RealMedia or use FFmpeg only on trusted local files are lower risk and can be skipped after confirming the version.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["ffmpeg","high","libavcodec","mediaprocessing","package"],"campaign_type":null,"search_a":"'-125203':12A,15A '-2026':11A,14A 'cook':4A 'craft':2A 'cve':10A,13A 'decod':9A 'ffmpeg':1A 'file':5A 'heap':7A 'overflow':6A 'realmedia':3A","search_b":"'alloc':48B 'applic':72B 'attack':51B 'buffer':49B 'channel':32B 'check':29B 'code':68B 'cook':24B,40B 'corrupt':62B 'craft':38B 'decod':26B,45B,57B,75B 'disjoint':35B 'execut':69B 'ffmpeg':16B,22B 'file':60B 'get':53B 'lead':66B 'libavcodec':17B 'make':42B 'mask':33B 'may':65B 'media':19B 'media-process':18B 'memori':63B 'multichannel':25B 'packag':21B 'past':47B 'process':20B 'realmedia':39B 'sampl':46B 'stream':41B 'subpacket':31B 'victim':55B 'write':44B","search_c":"'8.1.3':78C '9':80C '9.0.2':83C 'alloc':127C 'applic':132C 'attack':106C 'beyond':126C 'buffer':87C 'caus':118C 'channel':102C 'contain':84C 'cook':92C,112C,119C 'craft':110C 'decod':94C,120C,124C,133C 'disjoint':105C 'fail':98C 'ffmpeg':76C 'file':135C 'frame':121C 'heap':86C 'libavcodec/cook.c':96C 'mask':103C,117C 'multichannel':93C 'output':128C 'overflow':88C 'overlap':115C 'plane':129C 'realmedia':111C 'sampl':125C 'stream':113C 'subpacket':101C,116C 'suppli':108C 'verifi':100C 'vulner':89C 'write':123C 'x':81C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-09T19:16:56+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/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-125203","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-125203","severity":null,"published_at":"2026-11-09T19:16:56+00:00","modified_at":"2026-11-09T19:16:56+00:00","first_seen_at":"2026-11-09T19:28:18+00:00","fetched_at":"2026-11-09T19:28:18+00:00","note":null}],"documents":[{"id":109296,"url":"https://github.com/FFmpeg/FFmpeg/commit/3e09f5e24eb277a6d011745ff03e602f61c5c171","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":109297,"url":"https://www.vulncheck.com/advisories/ffmpeg-before-8.1.3-and-9-x-before-9.0.2-heap-buffer-overflow-in-cook-multichannel-decoder","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"}