Skip to main content

Meta Proxygen CVE-2026-91095

| EUVDEUVD-2026-88544 MEDIUM
Use After Free (CWE-416)
2026-09-28 Meta GHSA-c3mh-7h6x-xh3f
5.3
CVSS 3.1 · Vendor: Meta
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Open HTTP/3 WebTransport stream to server
  2. Delivery
    Manipulate stream handler to free handle
  3. Exploit
    HQSession installs freed handle as read callback
  4. Execution
    Trigger read on dangling pointer
  5. Impact
    Use-after-free crashes service (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the target application to use Proxygen's WebTransport-over-HTTP/3 stream APIs - specifically the HTTPTransaction::onWebTransportUniStream / onWebTransportBidiStream code paths with HQSession installing transport read callbacks. Servers built on Proxygen that do not enable or use WebTransport are not exposed. Affected releases are v2024.10.28.00 up to (not including) v2026.09.28.00. While the CVSS vector is remote and unauthenticated (AV:N/PR:N/UI:N), the realistic impact is limited to crashing the affected process (A:L, no confidentiality or integrity loss), and reliable exploitation depends on winning the free-then-reuse timing window inherent to the use-after-free.

Impact

This is a genuine memory-safety defect but a low real-world priority. All signals align on the low end: EPSS is 0.14% (3rd percentile), there is no CISA KEV listing, and no public exploit was identified. The vendor CVSS of 5.3 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L) is driven entirely by an availability-only impact - Meta scored confidentiality and integrity at None, meaning the practical outcome of this use-after-free is a crash/denial-of-service of the affected process rather than data theft or code execution. Although CWE-416 use-after-free CAN sometimes be leveraged for RCE, the vendor (who reported and rated it) constrained impact to A:L, and there is no evidence of a weaponized info-leak or control-flow-hijack primitive. One important caveat: the CVSS vector is network/unauthenticated (AV:N/PR:N), but exploitation is gated on the application actually using Proxygen's WebTransport-over-HTTP/3 stream APIs - a non-universal deployment condition not reflected in the base vector. A second, explicit discrepancy: the provided fix commit (479eb55) diff only shows changes to HTTPBinaryCodec.cpp (binary-HTTP header parsing), which does NOT correspond to the WebTransport/HQSession use-after-free described - the shown hunks do not contain the actual UAF fix, so the commit either bundles multiple unrelated fixes or the supplied diff is mismatched; verify the fix scope against the vendor advisory.

Exploit ScenarioDerived

A remote client establishes an HTTP/3 connection to a Proxygen-based server that has WebTransport enabled, then opens a unidirectional or bidirectional WebTransport stream and manipulates its lifecycle so the stream handler frees the handle while HQSession still installs it as a transport read callback. Subsequent I/O on that dangling handle dereferences freed memory, most realistically crashing the server process (denial of service). No public exploit code has been identified, and the CVSS availability-only impact suggests reliable escalation beyond a crash is not demonstrated.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 30, 2026

Memory-safety defect in Meta's Proxygen C++ HTTP library lets the HTTPTransaction::onWebTransportUniStream and HTTPTransaction::onWebTransportBidiStream callbacks return stream handles that the stream handler had already freed, after which HQSession installs those stale handles as transport read callbacks and can read through freed memory. Only servers built on affected releases (v2024.10.28.00 up to but not including v2026.09.28.00) that actually enable and terminate WebTransport over HTTP/3 are exposed; remote, unauthenticated peers able to drive that stream-setup path can trigger the fault, but the assessed impact is availability only (CVSS 5.3, A:L, no C/I loss) and reliable triggering depends on winning the free-then-reuse timing window. No public exploit code has been identified and there is no confirmed active exploitation; EPSS is very low at roughly 0.14% (3rd percentile).

RemediationAI

Vendor-released patch: upgrade Proxygen to v2026.09.28.00 or later, which is the first release outside the affected range; the upstream change is commit 479eb5574195764e80e6cedebef669f6baa85083 and the vendor advisory is at https://www.facebook.com/security/advisories/cve-2026-91095 (EUVD-2026-88544, NVD entry https://nvd.nist.gov/vuln/detail/CVE-2026-91095). Where an immediate library upgrade is not possible, the most effective compensating control is to disable WebTransport-over-HTTP/3 on the Proxygen-based server and stop registering the onWebTransportUniStream/onWebTransportBidiStream handlers so HQSession never installs a WebTransport stream handle as a read callback - the trade-off is loss of WebTransport functionality for clients, which must fall back to HTTP/2 or WebSocket-style streaming. Blocking or rate-limiting HTTP/3 WebTransport session establishment at the edge reduces exposure but does not eliminate the bug if WebTransport is still enabled internally, and it adds latency/management overhead. Because the defect is memory corruption adjacent to a codec parsing path, also run the service under a memory-safety-hardened allocator or sanitizer-enabled build during rollout to catch residual dangling-handle dereferences, and monitor for crash loops tied to WebTransport sessions as an indicator of attempted triggering; note that EPSS is low (~0.14%) and no public exploit code or active exploitation has been identified, so remediation can follow normal patch cycles rather than emergency change control.

Affected VersionsENISA

Proxygen v2024.10.28.00 <v2026.09.28.00

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Proxygen is Meta's open-source C++ HTTP stack (CPE cpe:2.3:a:facebook:proxygen) that implements HTTP/1.1, HTTP/2 and HTTP/3, and is the transport layer for services such as load balancers and edge servers. The flaw is a classic CWE-416 use-after-free in the WebTransport-over-HTTP/3 integration: the HTTPTransaction callbacks onWebTransportUniStream and onWebTransportBidiStream are supposed to hand a valid stream handle back to the session, but under the affected releases they could return a handle the stream handler had already destroyed; HQSession then cached that dangling pointer as a transport read callback, producing a later dereference of freed memory when inbound data arrives. The dangling reference and the subsequent use are separated in time, which is why exploit reliability is timing dependent. The repository reference points to upstream commit 479eb5574195764e80e6cedebef669f6baa85083, whose diff reworks HTTPBinaryCodec.h/HTTPBinaryCodec.cpp - introducing persistent state for a partially parsed header field name (pendingFieldName_) and bounding header parsing to a declared field-section length, plus related onIngress/onIngressEOF state handling and byte-accounting fixes - reflecting the library's broader effort to make codec parsing state handling safe across fragmented input.

Know when Proxygen gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Meta) PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI 5.3 MEDIUM

Remote, unauthenticated reachability over HTTP/3 WebTransport with no user interaction; use-after-free yields a process crash only, so C:N/I:N/A:L, matching the vendor.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (Meta).

CVSS VectorVendor: Meta

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

Lifecycle Timeline

2
CVSS changed
Sep 30, 2026 - 20:53 NVD
5.3 (MEDIUM)
CVE Published
Sep 28, 2026 - 20:44 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In proxygen from v2024.10.28.00 until v2026.09.28.00, the HTTPTransaction::onWebTransportUniStream and HTTPTransaction::onWebTransportBidiStream APIs could return stream handles that the stream handler had already freed. HQSession then installed those handles as transport read callbacks, which could lead to use of freed memory.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Low
Meta's specialized C++ HTTP/HTTP-3 library, niche adoption beyond Facebook infra
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2015-7264 CRITICAL
9.8 Apr 10

The SPDY/2 codec in Facebook Proxygen before 2015-11-09 truncates a certain field to two bytes, which allows hijacking a

CVE-2020-1897 CRITICAL
9.8 May 18

A use-after-free is possible due to an error in lifetime management in the request adaptor when a malicious client invok

CVE-2019-11940 CRITICAL
9.8 Dec 04

In the course of decompressing HPACK inside the HTTP2 protocol, an unexpected sequence of header table resize operations

CVE-2019-11921 CRITICAL
9.8 Jul 25

An out of bounds write is possible via a specially crafted packet in certain configurations of Proxygen due to improper

CVE-2015-7265 HIGH
7.5 Apr 10

Facebook Proxygen before 2015-11-09 mismanages HTTPMessage.request state, which allows remote attackers to conduct hijac

CVE-2015-7263 HIGH
7.5 Apr 10

The SPDY/2 codec in Facebook Proxygen before 2015-11-09 allows remote attackers to conduct hijacking attacks and bypass

CVE-2026-91096 HIGH
7.5 Sep 28

Use-after-free in Meta's Proxygen HTTP library (v2024.10.28.00 through v2026.09.28.00) lets remote, unauthenticated atta

CVE-2021-24029 HIGH
7.5 Mar 15

A packet of death scenario is possible in mvfst via a specially crafted message during a QUIC session, which causes a cr

CVE-2018-6347 HIGH
7.5 Dec 31

An issue in the Proxygen handling of HTTP2 parsing of headers/trailers can lead to a denial-of-service attack. Rated hig

CVE-2018-6346 HIGH
7.5 Dec 31

A potential denial-of-service issue in the Proxygen handling of invalid HTTP2 priority settings (specifically a circular

CVE-2018-6343 HIGH
7.5 Dec 31

Proxygen fails to validate that a secondary auth manager is set before dereferencing it. Rated high severity (CVSS 7.5),

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy