{"id":"CVE-2026-119234","kind":"vulnerability","aliases":["CVE-2026-119234"],"related":[],"title":"mvfst: small out-of-order QUIC fragments exhaust memory and CPU","description":"mvfst did not adequately merge or compact out-of-order STREAM frame data, and a small received fragment could keep a much larger receive buffer alive. QUIC flow control limits the number of buffered stream bytes, but not this per-fragment memory and bookkeeping. A remote, unauthenticated QUIC peer could send many small, non-contiguous stream fragments to make an endpoint consume memory far in excess of its advertised receive window and spend increasing CPU time reassembling stream data, leading to denial of service. This issue affects mvfst versions prior to v2026.11.09.0.","summary":"mvfst, Meta's QUIC transport library, does not merge or compact out-of-order STREAM frame data well, so a small fragment can keep a much larger receive buffer alive. A remote, unauthenticated peer can send many small non-contiguous fragments to make an endpoint use memory beyond its advertised receive window and spend growing CPU time, causing denial of service.","severity":"high","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["c++","mvfst","package","quic"],"not_affected_if":["does-not-use-mvfst","trusted-peers-only"],"how_to_check":"- Check whether the project depends on mvfst, for example by searching the lockfile or dependency tree for `mvfst`.\n- Compare the installed mvfst version against `v2026.11.09.0`.","fix":"- mvfst versions prior to `v2026.11.09.0` are affected; move to `v2026.11.09.0` or later.","status":"open","published_at":"2026-11-11T17:17:16+00:00","first_seen_at":"2026-11-11T17:28:21+00:00","triaged_at":"2026-11-11T17:29:07+00:00","updated_at":"2026-11-11T17:29:07+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-11T17:29:07Z","model":"claude-haiku-5-5","output":{"fix":"- mvfst versions prior to `v2026.11.09.0` are affected; move to `v2026.11.09.0` or later.","reach":"internet","title":"mvfst: small out-of-order QUIC fragments exhaust memory and CPU","impact":"medium","summary":"mvfst, Meta's QUIC transport library, does not merge or compact out-of-order STREAM frame data well, so a small fragment can keep a much larger receive buffer alive. A remote, unauthenticated peer can send many small non-contiguous fragments to make an endpoint use memory beyond its advertised receive window and spend growing CPU time, causing denial of service.","audience":"developers","category":"package","nicknames":[],"who_cares":["mvfst","quic","c++"],"confidence":0.7,"fix_status":"available","needs_auth":"no","worst_case":"remote peer exhausts endpoint memory and CPU, causing denial of service","analyst_note":"","how_to_check":"- Check whether the project depends on mvfst, for example by searching the lockfile or dependency tree for `mvfst`.\n- Compare the installed mvfst version against `v2026.11.09.0`.","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["does-not-use-mvfst","trusted-peers-only"],"who_is_affected":"Applications that embed mvfst as their QUIC transport and accept connections from untrusted peers are exposed, since the flaw is triggered by remote QUIC traffic without authentication. Services that do not use mvfst, or that only talk to trusted peers, can skip it. The sources do not say which downstream products bundle mvfst.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000772,"input_tokens":4650,"output_tokens":613,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-119234':15A,18A '-2026':14A,17A 'adequ':89C 'advertis':74B,157C 'affect':175C 'aliv':53B,112C 'beyond':72B 'bookkeep':131C 'buffer':52B,111C,120C 'byte':122C 'c':19B 'caus':82B 'compact':33B,92C 'consum':150C 'contigu':64B,143C 'control':115C 'could':105C,137C 'cpu':12A,80B,163C 'cve':13A,16A 'data':40B,99C,167C 'denial':83B,170C 'endpoint':69B,149C 'excess':154C 'exhaust':9A 'far':152C 'flow':114C 'fragment':8A,45B,65B,104C,128C,145C 'frame':39B,98C 'grow':79B 'increas':162C 'issu':174C 'keep':47B,106C 'larger':50B,109C 'lead':168C 'librari':28B 'limit':116C 'make':67B,147C 'mani':60B,139C 'memori':10A,71B,129C,151C 'merg':31B,90C 'meta':24B 'much':49B,108C 'mvfst':1A,20B,23B,86C,176C 'non':63B,142C 'non-contigu':62B,141C 'number':118C 'order':6A,37B,96C 'out-of-ord':3A,34B,93C 'packag':21B 'peer':57B,136C 'per':127C 'per-frag':126C 'prior':178C 'quic':7A,22B,26B,113C,135C 'reassembl':165C 'receiv':51B,75B,103C,110C,158C 'remot':55B,133C 'send':59B,138C 'servic':85B,172C 'small':2A,44B,61B,102C,140C 'spend':78B,161C 'stream':38B,97C,121C,144C,166C 'time':81B,164C 'transport':27B 'unauthent':56B,134C 'use':70B 'v2026.11.09.0':180C 'version':177C 'well':41B 'window':76B,159C","nicknames":[],"mitigations":[],"who_affected":"Applications that embed mvfst as their QUIC transport and accept connections from untrusted peers are exposed, since the flaw is triggered by remote QUIC traffic without authentication. Services that do not use mvfst, or that only talk to trusted peers, can skip it. The sources do not say which downstream products bundle mvfst.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["c","high","mvfst","package","quic"],"campaign_type":null,"search_a":"'-119234':15A,18A '-2026':14A,17A 'cpu':12A 'cve':13A,16A 'exhaust':9A 'fragment':8A 'memori':10A 'mvfst':1A 'order':6A 'out-of-ord':3A 'quic':7A 'small':2A","search_b":"'advertis':74B 'aliv':53B 'beyond':72B 'buffer':52B 'c':19B 'caus':82B 'compact':33B 'contigu':64B 'cpu':80B 'data':40B 'denial':83B 'endpoint':69B 'fragment':45B,65B 'frame':39B 'grow':79B 'keep':47B 'larger':50B 'librari':28B 'make':67B 'mani':60B 'memori':71B 'merg':31B 'meta':24B 'much':49B 'mvfst':20B,23B 'non':63B 'non-contigu':62B 'order':37B 'out-of-ord':34B 'packag':21B 'peer':57B 'quic':22B,26B 'receiv':51B,75B 'remot':55B 'send':59B 'servic':85B 'small':44B,61B 'spend':78B 'stream':38B 'time':81B 'transport':27B 'unauthent':56B 'use':70B 'well':41B 'window':76B","search_c":"'adequ':89C 'advertis':157C 'affect':175C 'aliv':112C 'bookkeep':131C 'buffer':111C,120C 'byte':122C 'compact':92C 'consum':150C 'contigu':143C 'control':115C 'could':105C,137C 'cpu':163C 'data':99C,167C 'denial':170C 'endpoint':149C 'excess':154C 'far':152C 'flow':114C 'fragment':104C,128C,145C 'frame':98C 'increas':162C 'issu':174C 'keep':106C 'larger':109C 'lead':168C 'limit':116C 'make':147C 'mani':139C 'memori':129C,151C 'merg':90C 'much':108C 'mvfst':86C,176C 'non':142C 'non-contigu':141C 'number':118C 'order':96C 'out-of-ord':93C 'peer':136C 'per':127C 'per-frag':126C 'prior':178C 'quic':113C,135C 'reassembl':165C 'receiv':103C,110C,158C 'remot':133C 'send':138C 'servic':172C 'small':102C,140C 'spend':161C 'stream':97C,121C,144C,166C 'time':164C 'unauthent':134C 'v2026.11.09.0':180C 'version':177C 'window':159C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-11T17:17:16+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-119234","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-119234","severity":null,"published_at":"2026-11-11T17:17:16+00:00","modified_at":"2026-11-11T17:17:16+00:00","first_seen_at":"2026-11-11T17:28:21+00:00","fetched_at":"2026-11-11T17:28:21+00:00","note":null}],"documents":[{"id":127298,"url":"https://github.com/meta/mvfst/commit/7e5cff58e8cbed87793141ceeca0a8a343c67c44","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.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"}