Skip to main content
← All vulnerabilities
CVE-2026-26311GHSA-84XM-R438-86PXBIT-ENVOY-2026-26311

Envoy HTTP: filter chain execution on reset streams causing UAF crash

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.37.1, 1.36.5, 1.35.9, 1.34.13
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • envoyproxy envoy

    From 1.37.0 · fixed in 1.37.1; From 1.36.0 · fixed in 1.36.5; From 1.35.0 · fixed in 1.35.9; fixed in 1.34.13

  • github.com/envoyproxy/envoyGo

    1.37.0

  • github.com/envoyproxy/envoyGo

    From 1.36.0 · through 1.36.4

  • github.com/envoyproxy/envoyGo

    From 1.35.0 · through 1.35.8

  • github.com/envoyproxy/envoyGo

    through 1.34.12

References 1

GitHub · envoyproxy/envoy