Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Envoy with per-route ext_authz override
-
DeliverySend request to ext_authz-protected route
-
ExploitRapidly disconnect before authz callback resolves
-
ExecutionRace condition triggers UAF in async callback
-
PersistEnvoy process crashes with segfault
-
ImpactProxy unavailable, downstream services unreachable
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires two mandatory configuration conditions: (1) the ext_authz HTTP filter must be enabled in the Envoy filter chain, AND (2) at least one route must define a per-route HTTP or gRPC external authorization service override - a non-default configuration where a specific route's authz service differs from the global ext_authz client. Deployments using only a global ext_authz policy without per-route overrides are NOT vulnerable. The timing of the race condition (AC:H) further limits reliable exploitation: the downstream disconnect must occur during the brief window after the per-route client move but before async callback completion. Exploitation is limited to causing a process crash (DoS); no authentication is required from the attacker (PR:N), and no user interaction is needed (UI:N). The attack is limited to network-accessible Envoy instances - local or cluster-internal access policies restrict the attacker pool in typical service mesh deployments. |
| Impact | The CVSS 3.1 base score of 5.9 (Medium) reflects the network-accessible attack vector combined with High complexity (AC:H), acknowledging that reliable exploitation requires precise race condition timing between the per-route client move and the async callback arrival. The CVSS correctly assigns no Confidentiality or Integrity impact - this is a pure availability crash. No EPSS score was provided in the input data, limiting probabilistic exploitation forecasting. The vulnerability is not listed in CISA KEV, and no public exploit code is confirmed. Real-world risk is meaningfully gated by configuration: the ext_authz filter must be enabled AND per-route authorization overrides must be defined; deployments using only global ext_authz policy are not affected. Given the non-default configuration requirement and the timing sensitivity of the race condition, this is a real but constrained DoS risk rather than a trivially weaponizable threat. The High availability impact is accurate since a UAF segfault terminates the Envoy process, potentially causing a complete traffic outage for the proxy instance. In high-availability deployments with multiple Envoy instances, impact may be partially mitigated by load balancing, but a targeted rapid-reconnect flood against all instances could still cause widespread outage. |
| Exploit ScenarioDerived | An attacker identifies an Envoy deployment where the ext_authz HTTP filter is configured with per-route gRPC or HTTP authorization overrides - for example, a WebSocket endpoint protected by a distinct per-route authz service. The attacker repeatedly and rapidly establishes TCP connections and immediately resets them (e.g., via a scripted rapid WebSocket connect/disconnect loop), timing disconnects to land during the async authorization call initiated by the per-route client move. This triggers the UAF in the async callback path, crashing the Envoy process and causing a denial of service for all traffic through that proxy instance. No public exploit code has been identified at time of analysis, but the attack pattern (connection flood with precise timing) is well within reach of a motivated attacker with knowledge of the target's ext_authz configuration. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 26, 2026
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.
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.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
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.
Know when Envoy gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
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
1DescriptionCVE.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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Remote code execution is possible in Node.js releases that bundle a vulnerable Brotli decoder: a malformed brotli-compre
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
Same weakness CWE-416 – Use After Free
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
EUVD-2026-39828
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB