{"id":"CVE-2026-125236","kind":"vulnerability","aliases":["CVE-2026-125236"],"related":[],"title":"FFmpeg: failed frame allocation leaks memory on crafted VVC streams","description":"FFmpeg through 9.0.2 contains a memory leak vulnerability in alloc_frame() in libavcodec/vvc/refs.c that leaks SPS and PPS references when frame buffer allocation fails. Attackers can supply a crafted VVC (H.266) stream that repeatedly replaces parameter sets, steadily growing memory use and causing denial of service.","summary":"FFmpeg through 9.0.2 leaks SPS and PPS parameter-set references in alloc_frame() when frame buffer allocation fails while decoding VVC (H.266) video. An attacker who supplies a crafted VVC stream that keeps replacing parameter sets can grow memory use until the process is denied service.","severity":"medium","cvss":4.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ffmpeg","libavcodec","media-processing","package","vvc"],"not_affected_if":["no-vvc-decoding","trusted-input-only"],"how_to_check":"- Check the installed FFmpeg version with `ffmpeg -version` and compare it to the fixed ranges in the sources.\n- Find services that decode untrusted VVC input with FFmpeg or libavcodec.","fix":"- Fixed version: unknown\n- Patch linked in the sources (github.com); version not stated in the text provided.","status":"open","published_at":"2026-11-09T19:17:01+00:00","first_seen_at":"2026-11-09T19:28:20+00:00","triaged_at":"2026-11-09T19:32:14+00:00","updated_at":"2026-11-09T19:32:14+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-09T19:32:14Z","model":"claude-haiku-5-5","output":{"fix":"- Fixed version: unknown\n- Patch linked in the sources (github.com); version not stated in the text provided.","reach":"unknown","title":"FFmpeg: failed frame allocation leaks memory on crafted VVC streams","impact":"low","summary":"FFmpeg through 9.0.2 leaks SPS and PPS parameter-set references in alloc_frame() when frame buffer allocation fails while decoding VVC (H.266) video. An attacker who supplies a crafted VVC stream that keeps replacing parameter sets can grow memory use until the process is denied service.","audience":"businesses","category":"package","nicknames":[],"who_cares":["ffmpeg","libavcodec","vvc","media-processing"],"confidence":0.6,"fix_status":"available","needs_auth":"no","worst_case":"Memory grows until the decoding process crashes or stops responding","analyst_note":"Confirm the fixed FFmpeg version from the linked github.com patch and the vulncheck advisory; the sources here do not state it.","how_to_check":"- Check the installed FFmpeg version with `ffmpeg -version` and compare it to the fixed ranges in the sources.\n- Find services that decode untrusted VVC input with FFmpeg or libavcodec.","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["no-vvc-decoding","trusted-input-only"],"who_is_affected":"Systems that run FFmpeg or libavcodec to decode VVC (H.266) video from untrusted sources, such as upload pipelines, transcoders or media servers. Setups that only decode trusted local files or do not handle VVC can skip it.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000767,"input_tokens":4632,"output_tokens":607,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-125236':13A,16A '-2026':12A,15A '9.0.2':26B,73C 'alloc':4A,36B,41B,80C,93C 'attack':49B,95C 'buffer':40B,92C 'caus':113C 'contain':74C 'craft':8A,53B,99C 'cve':11A,14A 'decod':44B 'deni':69B 'denial':114C 'fail':2A,42B,94C 'ffmpeg':1A,17B,24B,71C 'frame':3A,37B,39B,81C,91C 'grow':62B,109C 'h.266':46B,101C 'keep':57B 'leak':5A,27B,77C,85C 'libavcodec':18B 'libavcodec/vvc/refs.c':83C 'media':20B 'media-process':19B 'memori':6A,63B,76C,110C 'packag':22B 'paramet':32B,59B,106C 'parameter-set':31B 'pps':30B,88C 'process':21B,67B 'refer':34B,89C 'repeat':104C 'replac':58B,105C 'servic':70B,116C 'set':33B,60B,107C 'sps':28B,86C 'steadili':108C 'stream':10A,55B,102C 'suppli':51B,97C 'use':64B,111C 'video':47B 'vulner':78C 'vvc':9A,23B,45B,54B,100C","nicknames":[],"mitigations":[],"who_affected":"Systems that run FFmpeg or libavcodec to decode VVC (H.266) video from untrusted sources, such as upload pipelines, transcoders or media servers. Setups that only decode trusted local files or do not handle VVC can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["ffmpeg","libavcodec","mediaprocessing","medium","package","vvc"],"campaign_type":null,"search_a":"'-125236':13A,16A '-2026':12A,15A 'alloc':4A 'craft':8A 'cve':11A,14A 'fail':2A 'ffmpeg':1A 'frame':3A 'leak':5A 'memori':6A 'stream':10A 'vvc':9A","search_b":"'9.0.2':26B 'alloc':36B,41B 'attack':49B 'buffer':40B 'craft':53B 'decod':44B 'deni':69B 'fail':42B 'ffmpeg':17B,24B 'frame':37B,39B 'grow':62B 'h.266':46B 'keep':57B 'leak':27B 'libavcodec':18B 'media':20B 'media-process':19B 'memori':63B 'packag':22B 'paramet':32B,59B 'parameter-set':31B 'pps':30B 'process':21B,67B 'refer':34B 'replac':58B 'servic':70B 'set':33B,60B 'sps':28B 'stream':55B 'suppli':51B 'use':64B 'video':47B 'vvc':23B,45B,54B","search_c":"'9.0.2':73C 'alloc':80C,93C 'attack':95C 'buffer':92C 'caus':113C 'contain':74C 'craft':99C 'denial':114C 'fail':94C 'ffmpeg':71C 'frame':81C,91C 'grow':109C 'h.266':101C 'leak':77C,85C 'libavcodec/vvc/refs.c':83C 'memori':76C,110C 'paramet':106C 'pps':88C 'refer':89C 'repeat':104C 'replac':105C 'servic':116C 'set':107C 'sps':86C 'steadili':108C 'stream':102C 'suppli':97C 'use':111C 'vulner':78C 'vvc':100C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-09T19:17:01+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/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-125236","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-125236","severity":null,"published_at":"2026-11-09T19:17:01+00:00","modified_at":"2026-11-09T19:17:01+00:00","first_seen_at":"2026-11-09T19:28:20+00:00","fetched_at":"2026-11-09T19:28:20+00:00","note":null}],"documents":[{"id":109363,"url":"https://github.com/FFmpeg/FFmpeg/commit/a13e27336a61a3452e1ab8b4bb132c4174c67498","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":109364,"url":"https://www.vulncheck.com/advisories/ffmpeg-through-9.0.2-vvc-decoder-memory-leak-via-alloc-frame","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"}