{"id":"CVE-2026-124308","kind":"vulnerability","aliases":["CVE-2026-124308"],"related":[],"title":"VVdeC: heap use-after-free lets a crafted VVC stream corrupt memory","description":"Fraunhofer HHI VVdeC before 3.2.1 contains a heap use-after-free vulnerability in DecLibRecon::createSubPicRefBufs because decompressPicture clears m_subPicExtTasks without waiting for pending tasks. Attackers can supply a crafted multi-subpicture VVC bitstream to decoders using two or more threads, causing heap memory corruption or a decoder crash.","summary":"VVdeC is Fraunhofer HHI's open-source VVC video decoder library. A crafted multi-subpicture VVC bitstream decoded with two or more threads can trigger a heap use-after-free, corrupting memory or crashing the decoder.","severity":"medium","cvss":5.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["c++","package","video-decoding","vvdec"],"not_affected_if":["no-vvc-decoding","single-threaded-decoding","trusted-input-only"],"how_to_check":"- Check the installed VVdeC version against the fixed release, for example with `vvdec --version` or the version in your package manifest.\n- Find where VVdeC is linked or built into your applications, and whether decoding runs with two or more threads.","fix":"- VVdeC: upgrade to `3.2.1` or later (per the NVD description: before 3.2.1 is affected).","status":"open","published_at":"2026-11-07T15:17:14+00:00","first_seen_at":"2026-11-07T15:47:57+00:00","triaged_at":"2026-11-07T15:48:17+00:00","updated_at":"2026-11-07T15:48:17+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-07T15:48:17Z","model":"claude-haiku-5-5","output":{"fix":"- VVdeC: upgrade to `3.2.1` or later (per the NVD description: before 3.2.1 is affected).","reach":"unknown","title":"VVdeC: heap use-after-free lets a crafted VVC stream corrupt memory","impact":"medium","summary":"VVdeC is Fraunhofer HHI's open-source VVC video decoder library. A crafted multi-subpicture VVC bitstream decoded with two or more threads can trigger a heap use-after-free, corrupting memory or crashing the decoder.","audience":"developers","category":"package","nicknames":[],"who_cares":["vvdec","video-decoding","c++"],"confidence":0.6,"fix_status":"available","needs_auth":"no","worst_case":"heap memory corruption or decoder crash from crafted stream","analyst_note":"","how_to_check":"- Check the installed VVdeC version against the fixed release, for example with `vvdec --version` or the version in your package manifest.\n- Find where VVdeC is linked or built into your applications, and whether decoding runs with two or more threads.\n- unknown for anything beyond this.","plain_action":"","needs_analyst":false,"not_affected_if":["no-vvc-decoding","single-threaded-decoding","trusted-input-only"],"who_is_affected":"Applications that embed VVdeC to decode VVC video, especially with multi-threaded decoding enabled. Systems that never decode untrusted VVC streams with the library are at much lower risk. unknown whether the linked advisories add further detail.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000715,"input_tokens":4320,"output_tokens":565,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-124308':16A,19A '-2026':15A,18A '3.2.1':69C 'attack':91C 'bitstream':44B,100C 'c':20B 'caus':108C 'clear':83C 'contain':70C 'corrupt':12A,59B,111C 'craft':9A,39B,95C 'crash':62B,115C 'createsubpicrefbuf':80C 'cve':14A,17A 'declibrecon':79C 'decod':24B,36B,45B,64B,102C,114C 'decompresspictur':82C 'fraunhof':28B,65C 'free':6A,58B,76C 'heap':2A,54B,72C,109C 'hhi':29B,66C 'let':7A 'librari':37B 'm':84C 'memori':13A,60B,110C 'multi':41B,97C 'multi-subpictur':40B,96C 'open':32B 'open-sourc':31B 'packag':21B 'pend':89C 'sourc':33B 'stream':11A 'subpicexttask':85C 'subpictur':42B,98C 'suppli':93C 'task':90C 'thread':50B,107C 'trigger':52B 'two':47B,104C 'use':4A,56B,74C,103C 'use-after-fre':3A,55B,73C 'video':23B,35B 'video-decod':22B 'vulner':77C 'vvc':10A,34B,43B,99C 'vvdec':1A,25B,26B,67C 'wait':87C 'without':86C","nicknames":[],"mitigations":[],"who_affected":"Applications that embed VVdeC to decode VVC video, especially with multi-threaded decoding enabled. Systems that never decode untrusted VVC streams with the library are at much lower risk. unknown whether the linked advisories add further detail.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["c","medium","package","videodecoding","vvdec"],"campaign_type":null,"search_a":"'-124308':16A,19A '-2026':15A,18A 'corrupt':12A 'craft':9A 'cve':14A,17A 'free':6A 'heap':2A 'let':7A 'memori':13A 'stream':11A 'use':4A 'use-after-fre':3A 'vvc':10A 'vvdec':1A","search_b":"'bitstream':44B 'c':20B 'corrupt':59B 'craft':39B 'crash':62B 'decod':24B,36B,45B,64B 'fraunhof':28B 'free':58B 'heap':54B 'hhi':29B 'librari':37B 'memori':60B 'multi':41B 'multi-subpictur':40B 'open':32B 'open-sourc':31B 'packag':21B 'sourc':33B 'subpictur':42B 'thread':50B 'trigger':52B 'two':47B 'use':56B 'use-after-fre':55B 'video':23B,35B 'video-decod':22B 'vvc':34B,43B 'vvdec':25B,26B","search_c":"'3.2.1':69C 'attack':91C 'bitstream':100C 'caus':108C 'clear':83C 'contain':70C 'corrupt':111C 'craft':95C 'crash':115C 'createsubpicrefbuf':80C 'declibrecon':79C 'decod':102C,114C 'decompresspictur':82C 'fraunhof':65C 'free':76C 'heap':72C,109C 'hhi':66C 'm':84C 'memori':110C 'multi':97C 'multi-subpictur':96C 'pend':89C 'subpicexttask':85C 'subpictur':98C 'suppli':93C 'task':90C 'thread':107C 'two':104C 'use':74C,103C 'use-after-fre':73C 'vulner':77C 'vvc':99C 'vvdec':67C 'wait':87C 'without':86C","first_public_at":"2026-11-07T15:17:14+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:H/AT:P/PR:N/UI:P/VC:L/VI:L/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-124308","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-124308","severity":null,"published_at":"2026-11-07T15:17:14+00:00","modified_at":"2026-11-07T15:17:14+00:00","first_seen_at":"2026-11-07T15:47:57+00:00","fetched_at":"2026-11-07T15:47:57+00:00","note":null}],"documents":[{"id":96357,"url":"https://github.com/fraunhoferhhi/vvdec/commit/8a0def8ba6050412d33e69a6f1e66e287b039083","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":96358,"url":"https://www.vulncheck.com/advisories/fraunhofer-hhi-vvdec-before-3.2.1-use-after-free-via-declibrecon-createsubpicrefbufs","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"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}