Executive brief
Envoy, an open-source edge and service proxy for cloud-native applications, allows unauthenticated HTTP/2 clients to inject smuggled HTTP/1.1 requests that poison shared upstream connections. An attacker can craft a request that causes Envoy to forward data before the upstream accepts the upgrade, resulting in the smuggled response being received by a different legitimate client. This enables response interception and potential credential or data theft.
Technical details
The vulnerability occurs in Envoy's handling of generic HTTP upgrades: data sent before the upstream accepts the upgrade is written unframed to keep-alive HTTP/1.1 upstream connections and interpreted as pipelined HTTP/1 requests. An unauthenticated network attacker can place a complete HTTP/1.1 request in extended CONNECT data; Envoy downgrades and forwards it, returning the socket to the shared pool while the smuggled response remains queued. Unaffected configurations include WebSocket upgrades, plain CONNECT, disabled backend keep-alive, per-downstream pools, and max_requests_per_connection set to 1. The fix pauses generic upgrade payload until the upstream accepts the upgrade.
Affected products
- Envoy Proxy Envoy Before 1.36.10, before 1.37.6, before 1.38.4, before 1.39.1
Timeline
- 2026-09-21: disclosed