{"id":"CVE-2026-125103","kind":"vulnerability","aliases":["CVE-2026-125103"],"related":[],"title":"FFmpeg: crafted MPEG-4 ALS file leaks uninitialized heap memory into audio","description":"FFmpeg through 9.0.2 contains an information disclosure vulnerability in ff_mlz_decompression() in libavcodec/mlz.c, which accepts string codes beyond the dictionary's next free code. Attackers can supply a crafted MPEG-4 ALS file with malformed initial or out-of-range codes to copy uninitialized heap bytes into decoded audio output.","summary":"FFmpeg's MLZ decompression in libavcodec accepts string codes beyond the dictionary's next free code, so a crafted MPEG-4 ALS file can make it copy uninitialized heap bytes into decoded audio output. An attacker who gets a victim to decode such a file can read leftover memory contents.","severity":"medium","cvss":4.8,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"FFmpeg","fixed":[],"affected":"","ecosystem":"runtime"}],"ecosystems":["runtime"],"tags":["ffmpeg","libavcodec","media-processing","runtime"],"not_affected_if":["no-als-decoding","trusted-input-only"],"how_to_check":"- Check the installed FFmpeg version with `ffmpeg -version`; the sources say the flaw is in releases through `9.0.2`.\n- Find where FFmpeg decodes untrusted audio files, such as services that transcode user uploads with libavcodec.","fix":null,"status":"open","published_at":"2026-11-09T19:16:51+00:00","first_seen_at":"2026-11-09T19:28:16+00:00","triaged_at":"2026-11-09T19:32:27+00:00","updated_at":"2026-11-09T19:32:27+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-11-09T19:32:27Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"unknown","title":"FFmpeg: crafted MPEG-4 ALS file leaks uninitialized heap memory into audio","impact":"low","summary":"FFmpeg's MLZ decompression in libavcodec accepts string codes beyond the dictionary's next free code, so a crafted MPEG-4 ALS file can make it copy uninitialized heap bytes into decoded audio output. An attacker who gets a victim to decode such a file can read leftover memory contents.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["ffmpeg","libavcodec","media-processing"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"Uninitialized heap bytes leak into decoded audio output.","analyst_note":"Confirm the fixed FFmpeg version and whether the patch link (github.com) names this CVE; the sources only give 'through 9.0.2'.","how_to_check":"- Check the installed FFmpeg version with `ffmpeg -version`; the sources say the flaw is in releases through `9.0.2`.\n- Find where FFmpeg decodes untrusted audio files, such as services that transcode user uploads with libavcodec.","plain_action":"","product_name":"FFmpeg","needs_analyst":true,"not_affected_if":["trusted-input-only","no-als-decoding"],"who_is_affected":"Systems that decode MPEG-4 ALS audio from untrusted sources with FFmpeg's libavcodec, such as transcoding services or media pipelines that accept user uploads. Desktop use of FFmpeg on files you trust is lower risk. unknown whether a patched version exists in the sources.","user_interaction":"yes","product_ecosystem":"runtime","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000786,"input_tokens":4632,"output_tokens":645,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-125103':15A,18A '-2026':14A,17A '-4':4A,46B,107C '9.0.2':78C 'accept':32B,91C 'al':5A,47B,108C 'attack':61B,101C 'audio':12A,58B,126C 'beyond':35B,94C 'byte':55B,123C 'code':34B,41B,93C,100C,118C 'contain':79C 'content':75B 'copi':52B,120C 'craft':2A,44B,105C 'cve':13A,16A 'decod':57B,67B,125C 'decompress':29B,87C 'dictionari':37B,96C 'disclosur':82C 'ff':85C 'ffmpeg':1A,19A,20B,26B,76C 'file':6A,48B,70B,109C 'free':40B,99C 'get':63B 'heap':9A,54B,122C 'inform':81C 'initi':112C 'leak':7A 'leftov':73B 'libavcodec':21B,31B 'libavcodec/mlz.c':89C 'make':50B 'malform':111C 'media':23B 'media-process':22B 'memori':10A,74B 'mlz':28B,86C 'mpeg':3A,45B,106C 'next':39B,98C 'out-of-rang':114C 'output':59B,127C 'process':24B 'rang':117C 'read':72B 'runtim':25B 'string':33B,92C 'suppli':103C 'uniniti':8A,53B,121C 'victim':65B 'vulner':83C","nicknames":[],"mitigations":[],"who_affected":"Systems that decode MPEG-4 ALS audio from untrusted sources with FFmpeg's libavcodec, such as transcoding services or media pipelines that accept user uploads. Desktop use of FFmpeg on files you trust is lower risk. unknown whether a patched version exists in the sources.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":["ffmpeg"],"ptokens":["ffmpeg"],"labels":["ffmpeg","libavcodec","mediaprocessing","medium","runtime"],"campaign_type":null,"search_a":"'-125103':15A,18A '-2026':14A,17A '-4':4A 'al':5A 'audio':12A 'craft':2A 'cve':13A,16A 'ffmpeg':1A,19A 'file':6A 'heap':9A 'leak':7A 'memori':10A 'mpeg':3A 'uniniti':8A","search_b":"'-4':46B 'accept':32B 'al':47B 'attack':61B 'audio':58B 'beyond':35B 'byte':55B 'code':34B,41B 'content':75B 'copi':52B 'craft':44B 'decod':57B,67B 'decompress':29B 'dictionari':37B 'ffmpeg':20B,26B 'file':48B,70B 'free':40B 'get':63B 'heap':54B 'leftov':73B 'libavcodec':21B,31B 'make':50B 'media':23B 'media-process':22B 'memori':74B 'mlz':28B 'mpeg':45B 'next':39B 'output':59B 'process':24B 'read':72B 'runtim':25B 'string':33B 'uniniti':53B 'victim':65B","search_c":"'-4':107C '9.0.2':78C 'accept':91C 'al':108C 'attack':101C 'audio':126C 'beyond':94C 'byte':123C 'code':93C,100C,118C 'contain':79C 'copi':120C 'craft':105C 'decod':125C 'decompress':87C 'dictionari':96C 'disclosur':82C 'ff':85C 'ffmpeg':76C 'file':109C 'free':99C 'heap':122C 'inform':81C 'initi':112C 'libavcodec/mlz.c':89C 'malform':111C 'mlz':86C 'mpeg':106C 'next':98C 'out-of-rang':114C 'output':127C 'rang':117C 'string':92C 'suppli':103C 'uniniti':121C 'vulner':83C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-09T19:16:51+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N/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-125103","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-125103","severity":null,"published_at":"2026-11-09T19:16:51+00:00","modified_at":"2026-11-09T19:16:51+00:00","first_seen_at":"2026-11-09T19:28:16+00:00","fetched_at":"2026-11-09T19:28:16+00:00","note":null}],"documents":[{"id":109223,"url":"https://github.com/FFmpeg/FFmpeg/commit/db98784a72600a94f7ebd5f016a37e01a505c27b","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":109224,"url":"https://www.vulncheck.com/advisories/ffmpeg-through-9.0.2-uninitialized-heap-disclosure-via-mlz-decompressor-in-als-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"}