Skip to main content
← All vulnerabilities
CVE-2026-73548BIT-ENVOY-2026-73548GHSA-3VHP-C83Q-JQC2

Envoy: Cross-user response poisoning via a generic (non-WebSocket) HTTP upgrade on Envoy's shared backend pool

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.36.10, 1.37.6, 1.38.4, 1.39.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to 1.36.10, 1.37.6, 1.38.4, and 1.39.1, Envoy forwards data for a configured non-WebSocket HTTP upgrade before the upstream accepts the upgrade. An unauthenticated HTTP/2 client can place a complete HTTP/1.1 request in extended CONNECT data; Envoy downgrades the request, writes the data unframed to a keep-alive HTTP/1.1 upstream, and returns the socket to the shared pool while the smuggled response remains queued. A different downstream client can then receive the attacker's response. The relevant scope boundary is that webSocket upgrades, plain CONNECT, disabled backend keep-alive, per-downstream pools, and max_requests_per_connection set to 1 are not affected by the demonstrated path. This issue is fixed in versions 1.36.10, 1.37.6, 1.38.4, and 1.39.1.

Timeline

  1. CVE published
  2. CISA SSVC assessment

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

  3. Record last updated

Affected versions

  • envoyproxy envoy

    fixed in 1.36.10; From 1.37.0 · fixed in 1.37.6; From 1.38.0 · fixed in 1.38.4; From 1.39.0 · fixed in 1.39.1

  • envoyBitnami

    fixed in 1.36.10; From 1.37.0 · fixed in 1.37.6; From 1.38.0 · fixed in 1.38.4; From 1.39.0 · fixed in 1.39.1

References 9

GitHub · envoyproxy/envoy