High · published September 22, 2026
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's ext_authz filter assumes that a request contains a :path pseudoheader when applying query_parameters_to_set or query_parameters_to_remove from an authorization response. A path-less CONNECT request makes request_headers_->Path() return null, and Filter::onComplete dereferences that pointer while parsing the query string. An unauthenticated downstream client can crash the Envoy process when the filter and authorization response use query-parameter mutation. The relevant scope boundary is that the deployment must accept path-less CONNECT and configure ext_authz query-parameter mutation. This issue is fixed in versions 1.36.10, 1.37.6, 1.38.4, and 1.39.1.
| Product | Versions | Fixed in |
|---|---|---|
| envoyproxy/envoy | < 1.36.10 | 1.36.10 |
| envoyproxy/envoy | ≥ 1.37.0, < 1.37.6 | 1.37.6 |
| envoyproxy/envoy | ≥ 1.38.0, < 1.38.4 | 1.38.4 |
| envoyproxy/envoy | ≥ 1.39.0, < 1.39.1 | 1.39.1 |