Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Network-delivered race condition (AV:N/AC:H); no auth required; pure process crash with no confidentiality or integrity impact (A:H/C:N/I: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. From 1.36.0 until 1.36.9, 1.37.5, and 1.38.3, a Use-After-Free (UAF) vulnerability leading to a sudden segmentation fault exists in Envoy's ext_authz HTTP filter when processing per-route authorization overrides concurrently with rapid downstream client disconnects. During standard request lifecycles, Envoy instantiates the ext_authz filter with a foundational authorization client object (client_). If a matched route dictates a dynamic per-route HTTP or gRPC authorization service override, the filter generates a localized client. In the vulnerable implementation, this transient client aggressively overwrote the default client_ unique pointer by executing client_ = std::move(per_route_client). When a client rapidly establishes and subsequently tears down a stream (such as rapidly refreshing a protected WebSocket endpoint), the downstream triggers the ConnectionManagerImpl::doDeferredStreamDestroy() -> ActiveStream::onResetStream() lifecycle. Envoy immediately sequences Filter::onDestroy() in an attempt to securely abort dispatched asynchronous authorization check transactions via client_->cancel(). By destructing the default client abruptly during initiateCall, a memory lifecycle misalignment occurs within the async client manager. The stream teardown fails to reliably track and cancel the dynamically bound asynchronous authorization tasks, orchestrating a sequence where a late asynchronous callback from the network evaluates against a heavily destroyed ActiveStream validation span, generating a UAF process crash. This vulnerability is fixed in 1.36.9, 1.37.5, and 1.38.3.
AnalysisAI
Use-After-Free crash in Envoy's ext_authz HTTP filter allows remote unauthenticated attackers to trigger a segmentation fault and process crash by rapidly establishing and tearing down downstream connections when per-route authorization overrides are configured. Affected are Envoy versions 1.36.0-1.36.8, 1.37.0-1.37.4, and 1.38.0-1.38.2. No public exploit code has been identified and this vulnerability is not listed in the CISA KEV catalog, though the race condition exploitability is constrained by requiring specific ext_authz per-route override configuration.
Technical ContextAI
Envoy (CPE: cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*) is a high-performance L7 edge and service proxy used extensively in cloud-native and service mesh deployments (notably as the data plane for Istio). The vulnerability (CWE-416: Use After Free) resides in the ext_authz HTTP filter subsystem. When a matched route specifies a dynamic per-route HTTP or gRPC external authorization service override, the filter creates a transient per-route client and immediately overwrites the canonical client_ unique_ptr via std::move semantics (client_ = std::move(per_route_client)). This move semantics operation destroys the original default client without coordinating with in-flight asynchronous authorization callbacks. If a downstream client disconnects rapidly - triggering ConnectionManagerImpl::doDeferredStreamDestroy() → ActiveStream::onResetStream() → Filter::onDestroy() - the subsequent client_->cancel() call operates against memory that has already been freed by the move-destruction of the default client. A late asynchronous callback from the network layer then dereferences the destroyed ActiveStream, producing a UAF segfault and process crash. This is a classic async lifecycle misalignment in C++ move semantics where ownership transfer is not properly synchronized with outstanding callbacks.
RemediationAI
The primary fix is to upgrade Envoy to a patched release: 1.36.9, 1.37.5, or 1.38.3, corresponding to the active release branch in use. Vendor-released patches are confirmed in the security advisory at https://github.com/envoyproxy/envoy/security/advisories/GHSA-mvh9-767w-x47j. For deployments that cannot immediately upgrade, a specific compensating control is to remove per-route ext_authz service override configuration and standardize on a single global ext_authz policy - this eliminates the per_route_client move operation that causes the UAF, though it removes fine-grained per-route authorization flexibility. Alternatively, rate-limiting or connection throttling at an upstream load balancer or WAF to prevent rapid connection cycling to ext_authz-protected routes reduces the race condition window, though it does not eliminate the vulnerability. Disabling the ext_authz filter entirely is a high-impact workaround that removes all external authorization enforcement and should only be used if an alternative authz mechanism is in place.
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-416 – Use After Free
View allSame technique Memory Corruption
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39828