{"id":"CVE-2026-47205","summary":"Envoy: ext_authz Use-After-Free during Stream Teardown with Per-Route Overrides","details":"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() -\u003e ActiveStream::onResetStream() lifecycle. Envoy immediately sequences Filter::onDestroy() in an attempt to securely abort dispatched asynchronous authorization check transactions via client_-\u003ecancel(). 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.","aliases":["BIT-envoy-2026-47205","GHSA-mvh9-767w-x47j"],"modified":"2026-07-08T08:13:38.056222813Z","published":"2026-06-26T18:01:07.766Z","related":["openSUSE-SU-2026:11141-1"],"database_specific":{"cwe_ids":["CWE-416"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47205.json","cna_assigner":"GitHub_M"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47205.json"},{"type":"ADVISORY","url":"https://github.com/envoyproxy/envoy/security/advisories/GHSA-mvh9-767w-x47j"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-47205"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/envoyproxy/envoy","events":[{"introduced":"63ee0dc79dce88117c6bd2df5a742f8eb67ea980"},{"fixed":"57198c441a298a75097c690726d90974549a9778"},{"introduced":"6d9bb7d9a85d616b220d1f8fe67b61f82bbdb8d3"},{"fixed":"f97695a50e11f5ff6719e129a466bf9204b64a7f"},{"introduced":"f1dd21b16c244bda00edfb5ffce577e12d0d2ec2"},{"fixed":"0ebfcfe5b0484b89ca85b761da9e05ce75dbda8d"}],"database_specific":{"extracted_events":[{"introduced":"1.36.0"},{"fixed":"1.36.9"},{"introduced":"1.37.0"},{"fixed":"1.37.5"},{"introduced":"1.38.0"},{"fixed":"1.38.3"}],"source":"CPE_RANGE","cpe":"cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*"}}],"versions":["v1.38.2","v1.37.4","v1.36.8","v1.38.1","v1.37.3","v1.36.7","v1.38.0","v1.37.2","v1.36.6","v1.37.1","v1.36.5","v1.37.0","v1.36.4","v1.36.3","v1.36.2","v1.36.1","v1.36.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-47205.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}