7.5High

CVE-2026-48743Envoy: HTTP/3 to HTTP/1 request smuggling via headers-only request with nonzero Content-Length

envoyproxy envoy Published: (4 months ago)

Description

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.

Weakness (CWE): CWE-444

Data: CVE.org, NVD, CISA KEV, FIRST EPSS, Ubuntu. Published as the sources state it, in English.

Affected products and versions

VendorProductVersions
envoyproxy envoy >= 1.38.0, < 1.38.1, >= 1.37.0, < 1.37.3, >= 1.36.0, < 1.36.7, >= 1.35.0, < 1.35.11

References and patches

CPE matches (NVD) (4)

  • cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* ≥ 1.35.0 < 1.35.13
  • cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* ≥ 1.36.0 < 1.36.9
  • cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* ≥ 1.37.0 < 1.37.5
  • cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* ≥ 1.38.0 < 1.38.3