{"id":"CVE-2026-125204","kind":"vulnerability","aliases":["CVE-2026-125204"],"related":[],"title":"FFmpeg: crafted media overflows heap in libwebp encoder, crashing apps","description":"FFmpeg through 9.0.2 contains a heap buffer overflow in ff_libwebp_get_frame() in libwebpenc_common.c that lets attackers corrupt memory when cr_threshold is set. Attackers can supply crafted media that increases resolution mid-stream, causing memcpy() to write pixel data past the stale reference frame and crash applications.","summary":"FFmpeg through 9.0.2 has a heap buffer overflow in the libwebp encoder path when cr_threshold is set. Crafted media that increases resolution mid-stream makes memcpy() write past a stale reference frame, corrupting memory and crashing the application.","severity":"high","cvss":7.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ffmpeg","media-pipeline","runtime","self-hosted"],"not_affected_if":["cr-threshold-unset","no-libwebp-encoder","trusted-input-only"],"how_to_check":"- Check the installed FFmpeg version with `ffmpeg -version`, and compare it against the fixed version in the patch linked from the NVD entry.\n- Look for libwebp encoding in use: `ffmpeg -encoders | grep webp` shows whether the libwebp encoder is built in.\n- Check whether any pipeline passes `cr_threshold` to the WebP encoder.","fix":"- FFmpeg: upgrade past `9.0.2` to the patched release referenced in the linked upstream patch (exact fixed version not stated in the sources).","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:30:09+00:00","updated_at":"2026-11-09T19:30:09+00:00","category":"runtime","confidence":0.7,"triage":{"at":"2026-11-09T19:30:09Z","model":"claude-haiku-5-5","output":{"fix":"- FFmpeg: upgrade past `9.0.2` to the patched release referenced in the linked upstream patch (exact fixed version not stated in the sources).","reach":"internet","title":"FFmpeg: crafted media overflows heap in libwebp encoder, crashing apps","impact":"medium","summary":"FFmpeg through 9.0.2 has a heap buffer overflow in the libwebp encoder path when cr_threshold is set. Crafted media that increases resolution mid-stream makes memcpy() write past a stale reference frame, corrupting memory and crashing the application.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["ffmpeg","media-pipeline","self-hosted"],"confidence":0.7,"fix_status":"available","needs_auth":"no","worst_case":"Attacker crashes applications and may corrupt memory during media processing","analyst_note":"","how_to_check":"- Check the installed FFmpeg version with `ffmpeg -version`, and compare it against the fixed version in the patch linked from the NVD entry.\n- Look for libwebp encoding in use: `ffmpeg -encoders | grep webp` shows whether the libwebp encoder is built in.\n- Check whether any pipeline passes `cr_threshold` to the WebP encoder.","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["no-libwebp-encoder","trusted-input-only","cr-threshold-unset"],"who_is_affected":"Systems that run FFmpeg to transcode or re-encode untrusted media with the libwebp encoder and cr_threshold set, such as upload-processing services or media pipelines. Teams that only process their own trusted media, or that do not use the libwebp encoder, are much less exposed.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000793,"input_tokens":4625,"output_tokens":660,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-125204':13A,16A '-2026':12A,15A '9.0.2':27B,67C 'app':10A 'applic':64B,115C 'attack':83C,91C 'buffer':31B,71C 'caus':102C 'common.c':80C 'contain':68C 'corrupt':59B,84C 'cr':39B,87C 'craft':2A,43B,94C 'crash':9A,62B,114C 'cve':11A,14A 'data':107C 'encod':8A,36B 'ff':74C 'ffmpeg':1A,17B,25B,65C 'frame':58B,77C,112C 'get':76C 'heap':5A,30B,70C 'host':24B 'increas':46B,97C 'let':82C 'libwebp':7A,35B,75C 'libwebpenc':79C 'make':51B 'media':3A,19B,44B,95C 'media-pipelin':18B 'memcpi':52B,103C 'memori':60B,85C 'mid':49B,100C 'mid-stream':48B,99C 'overflow':4A,32B,72C 'past':54B,108C 'path':37B 'pipelin':20B 'pixel':106C 'refer':57B,111C 'resolut':47B,98C 'runtim':21B 'self':23B 'self-host':22B 'set':42B,90C 'stale':56B,110C 'stream':50B,101C 'suppli':93C 'threshold':40B,88C 'write':53B,105C","nicknames":[],"mitigations":[],"who_affected":"Systems that run FFmpeg to transcode or re-encode untrusted media with the libwebp encoder and cr_threshold set, such as upload-processing services or media pipelines. Teams that only process their own trusted media, or that do not use the libwebp encoder, are much less exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["ffmpeg","high","mediapipeline","runtime","selfhosted"],"campaign_type":null,"search_a":"'-125204':13A,16A '-2026':12A,15A 'app':10A 'craft':2A 'crash':9A 'cve':11A,14A 'encod':8A 'ffmpeg':1A 'heap':5A 'libwebp':7A 'media':3A 'overflow':4A","search_b":"'9.0.2':27B 'applic':64B 'buffer':31B 'corrupt':59B 'cr':39B 'craft':43B 'crash':62B 'encod':36B 'ffmpeg':17B,25B 'frame':58B 'heap':30B 'host':24B 'increas':46B 'libwebp':35B 'make':51B 'media':19B,44B 'media-pipelin':18B 'memcpi':52B 'memori':60B 'mid':49B 'mid-stream':48B 'overflow':32B 'past':54B 'path':37B 'pipelin':20B 'refer':57B 'resolut':47B 'runtim':21B 'self':23B 'self-host':22B 'set':42B 'stale':56B 'stream':50B 'threshold':40B 'write':53B","search_c":"'9.0.2':67C 'applic':115C 'attack':83C,91C 'buffer':71C 'caus':102C 'common.c':80C 'contain':68C 'corrupt':84C 'cr':87C 'craft':94C 'crash':114C 'data':107C 'ff':74C 'ffmpeg':65C 'frame':77C,112C 'get':76C 'heap':70C 'increas':97C 'let':82C 'libwebp':75C 'libwebpenc':79C 'media':95C 'memcpi':103C 'memori':85C 'mid':100C 'mid-stream':99C 'overflow':72C 'past':108C 'pixel':106C 'refer':111C 'resolut':98C 'set':90C 'stale':110C 'stream':101C 'suppli':93C 'threshold':88C 'write':105C","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: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-125204","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-125204","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":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":109299,"url":"https://www.vulncheck.com/advisories/ffmpeg-through-9.0.2-heap-buffer-overflow-in-libwebp-encoder-conditional-replenishment","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"}