Skip to main content

Envoy Proxy CVE-2026-47205

| EUVDEUVD-2026-39828 MEDIUM
Use After Free (CWE-416)
2026-06-26 GitHub_M
5.9
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.9 MEDIUM

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).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative
Red Hat
MEDIUM
qualitative

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Jun 26, 2026 - 20:02 EUVD
Analysis Generated
Jun 26, 2026 - 19:26 vuln.today

DescriptionCVE.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.

More in Envoy

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2023-27488 CRITICAL POC
9.8 Apr 04

Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.8

CVE-2019-18802 CRITICAL POC
9.8 Dec 13

An issue was discovered in Envoy 1.12.0. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,

CVE-2019-18801 CRITICAL POC
9.8 Dec 13

An issue was discovered in Envoy 1.12.0. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,

CVE-2023-27493 CRITICAL POC
9.1 Apr 04

Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1

CVE-2023-27491 CRITICAL POC
9.1 Apr 04

Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1

CVE-2023-27487 CRITICAL POC
9.1 Apr 04

Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1

CVE-2020-25017 HIGH POC
8.3 Oct 01

Envoy through 1.15.0 only considers the first value when multiple header values are present for some HTTP headers. Rated

CVE-2019-9900 HIGH POC
8.3 Apr 25

When parsing HTTP/1.x header values, Envoy 1.9.0 and before does not reject embedded zero characters (NUL, ASCII 0x0). R

CVE-2026-26308 HIGH POC
7.5 Mar 10

Envoy's RBAC filter improperly concatenates duplicate HTTP headers into comma-separated strings instead of validating ea

CVE-2024-53270 HIGH POC
7.5 Dec 18

Envoy is a cloud-native high-performance edge/middle/service proxy. Rated high severity (CVSS 7.5), this vulnerability i

CVE-2024-53269 HIGH POC
7.5 Dec 18

Envoy is a cloud-native high-performance edge/middle/service proxy. Rated high severity (CVSS 7.5), this vulnerability i

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed

Share

CVE-2026-47205 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy