Severity by source
AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:N
Network-reachable and unauthenticated (AV:N/PR:N); AC:H for the upstream early-response/connection-reuse race; scope change (S:C) as a separate backend connection is desynced; I:H for request injection/route bypass, C:L, A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to 1.35.11, 1.36.7, 1.37.3, and 1.38.1, Envoy can translate a downstream HTTP/3 request that is complete at the transport layer (HEADERS with FIN / headers-only close) but still carries a nonzero Content-Length into a complete upstream HTTP/1 request with unresolved body debt. In an HTTP/1 upstream deployment where the origin replies before reading the declared body and keeps the connection reusable, the beginning of the next Envoy-generated upstream request can be consumed as the first request's body. The remaining bytes are then parsed by the origin as a new HTTP/1 request. This was reproduced as a route-bypass/desync: direct /pwn was denied by Envoy, but the second downstream H3 stream received the response for backend-parsed GET /pwn HTTP/1.1. This vulnerability is fixed in 1.35.11, 1.36.7, 1.37.3, and 1.38.1.
AnalysisAI
HTTP request smuggling in Envoy proxy (versions prior to 1.35.11, 1.36.7, 1.37.3, and 1.38.1) lets remote attackers desynchronize HTTP/1 upstream connections by sending an HTTP/3 downstream request that is transport-complete (HEADERS with FIN) yet declares a nonzero Content-Length, leaving the translated HTTP/1 request with unresolved body debt. When the HTTP/1 origin replies before reading the body and keeps the connection reusable, the start of Envoy's next upstream request is consumed as the prior request's body, and the remainder is parsed by the origin as a separate, attacker-controlled request. This was demonstrated as a route-bypass: a directly denied /pwn was served to a second downstream stream as a backend-parsed GET /pwn, with no public exploit identified at time of analysis and no CISA KEV listing.
Technical ContextAI
Envoy is a widely used cloud-native edge and service proxy that terminates downstream protocols (here HTTP/3) and re-encodes requests to upstream origins (here HTTP/1.1). The flaw is a protocol-translation defect: an HTTP/3 stream can be complete at the transport layer (headers-only close via FIN) while still advertising a nonzero Content-Length, and Envoy translated this into an HTTP/1 request whose declared body was never satisfied ('body debt'). This is a classic CWE-444 HTTP Request/Response Smuggling (desync) condition arising from inconsistent message-framing interpretation between the HTTP/3 front end and the HTTP/1 back end. Per the CPE cpe:2.3:a:envoyproxy:envoy, the affected component is the Envoy data plane itself, and exploitation depends on the upstream HTTP/1 origin's behavior of responding before fully draining the request body while reusing the connection.
RemediationAI
Upgrade to the patched release for your branch: Vendor-released patch versions are 1.35.11, 1.36.7, 1.37.3, or 1.38.1 (apply the one matching your current minor line) as documented in GHSA-8phg-2h2q-jgxf (https://github.com/envoyproxy/envoy/security/advisories/GHSA-8phg-2h2q-jgxf). If immediate patching is not possible, reduce exposure by avoiding HTTP/1.1 upstream connections where feasible - configure upstreams to HTTP/2 (which is not subject to this HTTP/1 body-debt desync), at the cost of requiring HTTP/2-capable origins. As a further compensating control, disable upstream HTTP/1 connection reuse/keep-alive (set max requests per upstream connection to 1) so smuggled bytes cannot bleed into a reused connection; this carries a performance penalty from increased connection churn. Where the downstream HTTP/3 listener is not required, disabling HTTP/3 termination removes the specific translation path, at the cost of losing HTTP/3 support.
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.8
An issue was discovered in Envoy 1.12.0. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,
An issue was discovered in Envoy 1.12.0. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,
Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1
Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1
Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1
Envoy through 1.15.0 only considers the first value when multiple header values are present for some HTTP headers. Rated
When parsing HTTP/1.x header values, Envoy 1.9.0 and before does not reject embedded zero characters (NUL, ASCII 0x0). R
Envoy's RBAC filter improperly concatenates duplicate HTTP headers into comma-separated strings instead of validating ea
Envoy is a cloud-native high-performance edge/middle/service proxy. Rated high severity (CVSS 7.5), this vulnerability i
Envoy is a cloud-native high-performance edge/middle/service proxy. Rated high severity (CVSS 7.5), this vulnerability i
Same weakness CWE-444 – HTTP Request/Response Smuggling
View allSame technique Request Smuggling
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39822