---
id: "CVE-2026-119237"
page: "https://infrastack.ai/live/CVE-2026-119237"
kind: "vulnerability"
aliases: ["CVE-2026-119237"]
title: "Proxygen HTTP/3: unauthenticated peer can exhaust memory and CPU"
severity: "high"
cvss: null
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["http3", "proxygen", "quic", "runtime", "self-hosted"]
not_affected_if: ["no-http3", "non-proxygen-stack"]
published_at: "2026-11-11T17:17:16+00:00"
first_seen_at: "2026-11-11T17:28:21+00:00"
updated_at: "2026-11-11T17:29:03+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-119237", "first_seen_at": "2026-11-11T17:28:21+00:00"}]
exploit_sources: []
---

# Proxygen HTTP/3: unauthenticated peer can exhaust memory and CPU

Link for people: https://infrastack.ai/live/CVE-2026-119237 (this .md is for agents)

Proxygen's HTTP/3 session keeps reading a stream whose headers are blocked on QPACK dynamic table entries, so unread data bypasses the ingress buffer limit and is re-scanned on every read. A remote, unauthenticated peer can send a stalled HEADERS block followed by a continuous data stream, causing memory growth and quadratic CPU use that leads to denial of service.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the proxygen version in use; affected versions are those prior to `v2026.11.09.00`.
- Confirm whether HTTP/3 is served by proxygen and whether QPACK blocked streams are enabled (the default, per the sources).

## Fix

- proxygen: upgrade to `v2026.11.09.00` or later.

## Timeline

- 2026-11-11T17:28:21+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-119237

## Documents

- [fix] Patch: github.com https://github.com/meta/proxygen/commit/daf245bba7fe1304b9491403fe56f91153299781

## From the sources

In proxygen's HTTP/3 session, when a HEADERS block referenced QPACK dynamic table entries that had not yet been received, header decoding for that stream was paused, but the session continued to read the stream from the QUIC transport. The unread data bypassed the session's ingress buffer limit, returned flow-control credit to the peer, and was re-scanned in full on every read. With QPACK blocked streams enabled (the default), a remote, unauthenticated HTTP/3 peer could send a HEADERS block that references a dynamic table insert it never sends, followed by a continuous stream of data, causing memory growth until the request timed out and CPU usage that grows quadratically, leading to denial of service. This issue affects proxygen versions prior to v2026.11.09.00.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
