CVE-2026-26311
Received Received - Intake
Use-After-Free in Envoy HTTP FilterManager Causes Stream Corruption

Publication date: 2026-03-10

Last updated on: 2026-03-11

Assigner: GitHub, Inc.

Description
Envoy is a high-performance edge/middle/service proxy. Prior to 1.37.1, 1.36.5, 1.35.8, and 1.34.13, a logic vulnerability in Envoy's HTTP connection manager (FilterManager) that allows for Zombie Stream Filter Execution. This issue creates a "Use-After-Free" (UAF) or state-corruption window where filter callbacks are invoked on an HTTP stream that has already been logically reset and cleaned up. The vulnerability resides in source/common/http/filter_manager.cc within the FilterManager::decodeData method. The ActiveStream object remains valid in memory during the deferred deletion window. If a DATA frame arrives on this stream immediately after the reset (e.g., in the same packet processing cycle), the HTTP/2 codec invokes ActiveStream::decodeData, which cascades to FilterManager::decodeData. FilterManager::decodeData fails to check the saw_downstream_reset_ flag. It iterates over the decoder_filters_ list and invokes decodeData() on filters that have already received onDestroy(). This vulnerability is fixed in 1.37.1, 1.36.5, 1.35.8, and 1.34.13.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-10
Last Modified
2026-03-11
Generated
2026-05-07
AI Q&A
2026-03-10
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 4 associated CPEs
Vendor Product Version / Range
envoyproxy envoy to 1.34.13 (exc)
envoyproxy envoy From 1.35.0 (inc) to 1.35.8 (exc)
envoyproxy envoy From 1.36.0 (inc) to 1.36.5 (exc)
envoyproxy envoy 1.37.0
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-416 The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in Envoy's HTTP connection manager (FilterManager) and is a logic flaw that leads to Zombie Stream Filter Execution. Specifically, it is a Use-After-Free (UAF) or state-corruption issue where filter callbacks are called on an HTTP stream that has already been logically reset and cleaned up.

The problem occurs because the ActiveStream object remains valid in memory during a deferred deletion window. If a DATA frame arrives on this stream immediately after the reset, the HTTP/2 codec calls ActiveStream::decodeData, which then calls FilterManager::decodeData. However, FilterManager::decodeData does not check if the stream has been reset (via the saw_downstream_reset_ flag) and proceeds to invoke decodeData() on filters that have already been destroyed (onDestroy() called).

This vulnerability affects Envoy versions prior to 1.37.1, 1.36.5, 1.35.8, and 1.34.13 and has been fixed in those versions.


How can this vulnerability impact me? :

This vulnerability can lead to a Use-After-Free condition or state corruption within the Envoy proxy, which may cause unexpected behavior such as crashes or denial of service (DoS).

Because the vulnerability allows execution of callbacks on already cleaned-up streams, it could potentially be exploited to disrupt the normal operation of the proxy, impacting availability.

The CVSS score of 5.9 with an impact on availability (A:H) indicates a moderate severity primarily affecting service availability.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

I don't know


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, upgrade Envoy to one of the fixed versions: 1.37.1, 1.36.5, 1.35.8, or 1.34.13.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart