{"id":"CVE-2026-121737","kind":"vulnerability","aliases":["CVE-2026-121737"],"related":[],"title":"Proxygen: pipelined HTTP/1.1 request triggers use-after-free and server crash","description":"When a remote, unauthenticated HTTP/1.1 client pipelined the start of a second request and then stopped reading, proxygen's coroutine-based HTTP session could free that pipelined stream while resetting the connection's streams on the resulting write timeout, then go on to use it. This can crash the server, leading to denial of service, and may allow memory corruption with further impact. This issue affects proxygen versions prior to v2026.11.09.00.","summary":"A remote, unauthenticated HTTP/1.1 client can pipeline a second request and stop reading, causing proxygen's session to free that stream and then use it. This can crash the server and may allow memory corruption with further impact.","severity":"high","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"proxygen","fixed":[],"affected":"","ecosystem":"vendor"}],"ecosystems":["vendor"],"tags":["c++","http-server","proxygen","runtime","self-hosted"],"not_affected_if":["not-using-proxygen"],"how_to_check":"- Check the proxygen version in use; affected versions are those prior to `v2026.11.09.00`.\n- Look for proxygen in your server or proxy dependencies (for example a C++ build or lockfile).","fix":"- proxygen: upgrade to `v2026.11.09.00` or later","status":"open","published_at":"2026-11-11T17:17:17+00:00","first_seen_at":"2026-11-11T17:28:21+00:00","triaged_at":"2026-11-11T17:29:01+00:00","updated_at":"2026-11-11T17:29:01+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-11-11T17:29:01Z","model":"claude-haiku-5-5","output":{"fix":"- proxygen: upgrade to `v2026.11.09.00` or later","reach":"internet","title":"Proxygen: pipelined HTTP/1.1 request triggers use-after-free and server crash","impact":"high","summary":"A remote, unauthenticated HTTP/1.1 client can pipeline a second request and stop reading, causing proxygen's session to free that stream and then use it. This can crash the server and may allow memory corruption with further impact.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["proxygen","c++","http-server","self-hosted"],"confidence":0.6,"fix_status":"available","needs_auth":"no","worst_case":"Remote attacker crashes server or corrupts memory, possibly more","analyst_note":"Confirm the fix location and whether earlier versions or workarounds exist at https://nvd.nist.gov/vuln/detail/CVE-2026-121737 and the linked patch.","how_to_check":"- Check the proxygen version in use; affected versions are those prior to `v2026.11.09.00`.\n- Look for proxygen in your server or proxy dependencies (for example a C++ build or lockfile).","plain_action":"","product_name":"proxygen","needs_analyst":true,"not_affected_if":["not-using-proxygen"],"who_is_affected":"Any service built on proxygen that accepts HTTP/1.1 connections from untrusted clients is exposed, since no authentication is needed. Systems that do not use proxygen, or that sit behind a proxy that fully handles HTTP/1.1 parsing, are less exposed; the sources do not say which deployments are safe.","user_interaction":"no","product_ecosystem":"vendor","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000767,"input_tokens":4602,"output_tokens":614,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-121737':15A,18A '-2026':14A,17A 'affect':133C 'allow':61B,125C 'base':88C 'c':20B 'caus':42B 'client':33B,72C 'connect':99C 'coroutin':87C 'coroutine-bas':86C 'corrupt':63B,127C 'could':91C 'crash':12A,56B,115C 'cve':13A,16A 'denial':120C 'free':9A,47B,92C 'go':108C 'host':28B 'http':22B,89C 'http-server':21B 'http/1.1':3A,32B,71C 'impact':66B,130C 'issu':132C 'lead':118C 'may':60B,124C 'memori':62B,126C 'pipelin':2A,35B,73C,94C 'prior':136C 'proxygen':1A,19A,24B,43B,84C,134C 'read':41B,83C 'remot':30B,69C 'request':4A,38B,79C 'reset':97C 'result':104C 'runtim':25B 'second':37B,78C 'self':27B 'self-host':26B 'server':11A,23B,58B,117C 'servic':122C 'session':45B,90C 'start':75C 'stop':40B,82C 'stream':49B,95C,101C 'timeout':106C 'trigger':5A 'unauthent':31B,70C 'use':7A,52B,111C 'use-after-fre':6A 'v2026.11.09.00':138C 'version':135C 'write':105C","nicknames":[],"mitigations":[],"who_affected":"Any service built on proxygen that accepts HTTP/1.1 connections from untrusted clients is exposed, since no authentication is needed. Systems that do not use proxygen, or that sit behind a proxy that fully handles HTTP/1.1 parsing, are less exposed; the sources do not say which deployments are safe.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["proxygen"],"ptokens":["proxygen"],"labels":["c","high","httpserver","proxygen","runtime","selfhosted","vendor"],"campaign_type":null,"search_a":"'-121737':15A,18A '-2026':14A,17A 'crash':12A 'cve':13A,16A 'free':9A 'http/1.1':3A 'pipelin':2A 'proxygen':1A,19A 'request':4A 'server':11A 'trigger':5A 'use':7A 'use-after-fre':6A","search_b":"'allow':61B 'c':20B 'caus':42B 'client':33B 'corrupt':63B 'crash':56B 'free':47B 'host':28B 'http':22B 'http-server':21B 'http/1.1':32B 'impact':66B 'may':60B 'memori':62B 'pipelin':35B 'proxygen':24B,43B 'read':41B 'remot':30B 'request':38B 'runtim':25B 'second':37B 'self':27B 'self-host':26B 'server':23B,58B 'session':45B 'stop':40B 'stream':49B 'unauthent':31B 'use':52B","search_c":"'affect':133C 'allow':125C 'base':88C 'client':72C 'connect':99C 'coroutin':87C 'coroutine-bas':86C 'corrupt':127C 'could':91C 'crash':115C 'denial':120C 'free':92C 'go':108C 'http':89C 'http/1.1':71C 'impact':130C 'issu':132C 'lead':118C 'may':124C 'memori':126C 'pipelin':73C,94C 'prior':136C 'proxygen':84C,134C 'read':83C 'remot':69C 'request':79C 'reset':97C 'result':104C 'second':78C 'server':117C 'servic':122C 'session':90C 'start':75C 'stop':82C 'stream':95C,101C 'timeout':106C 'unauthent':70C 'use':111C 'v2026.11.09.00':138C 'version':135C 'write':105C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-11T17:17:17+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-121737","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121737","severity":null,"published_at":"2026-11-11T17:17:17+00:00","modified_at":"2026-11-11T17:17:17+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":127297,"url":"https://github.com/meta/proxygen/commit/daf245bba7fe1304b9491403fe56f91153299781","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"}