CVE-2026-47207 Overview
CVE-2026-47207 is a use-after-free vulnerability in Envoy, the open source edge and service proxy used in cloud-native applications. The flaw exists in the external processing (ext_proc) filter and affects versions from 1.34.0 through 1.35.12, 1.36.8, 1.37.4, and 1.38.2. An ext_proc server can crash Envoy by sending a single gRPC message that contains multiple crafted ProcessingResponse messages. Fixed releases are 1.35.13, 1.36.9, 1.37.5, and 1.38.3.
Critical Impact
A malicious or compromised ext_proc server can trigger a use-after-free that crashes the Envoy proxy, resulting in denial of service for all traffic routed through the affected instance.
Affected Products
- Envoy 1.34.0 through 1.35.12
- Envoy 1.36.0 through 1.36.8
- Envoy 1.37.0 through 1.37.4 and 1.38.0 through 1.38.2
Discovery Timeline
- 2026-06-26 - CVE-2026-47207 published to NVD
- 2026-06-27 - Last updated in NVD database
Technical Details for CVE-2026-47207
Vulnerability Analysis
Envoy's ext_proc filter lets an external gRPC service inspect and mutate HTTP traffic in-flight. The filter processes ProcessingResponse messages returned by the external server to control request and response handling. The vulnerability is a use-after-free [CWE-416] triggered when a single gRPC frame carries multiple ProcessingResponse messages in one batch.
The first response in the batch causes the gRPC stream object to be destroyed. Envoy then attempts to handle subsequent responses in the same message and dereferences the freed stream state. The result is memory corruption that terminates the Envoy process. Successful exploitation requires the attacker to control or compromise the configured ext_proc server, matching the authenticated network attacker profile in the CVSS vector.
Root Cause
The defect stems from lifetime management inside the ext_proc response handler. Envoy destroys the stream when processing the first ProcessingResponse, but the batch iteration continues to reference the same stream object. No guard prevents further access after destruction, so the second response operates on freed memory.
Attack Vector
An attacker who controls the ext_proc gRPC server sends one gRPC message containing multiple crafted ProcessingResponse entries. The first entry triggers stream teardown, and the following entries drive the use-after-free. This scenario applies to environments where the ext_proc server is operated by a less-trusted tenant, has been compromised, or where a network path allows a rogue server to answer the Envoy connection. See the Envoy GitHub Security Advisory for details.
Detection Methods for CVE-2026-47207
Indicators of Compromise
- Unexpected Envoy process crashes or restarts correlated with active ext_proc gRPC sessions.
- Segmentation faults or abort signals in Envoy container logs immediately after receiving ProcessingResponse traffic.
- Sudden loss of traffic through an Envoy instance while the upstream ext_proc service remains reachable.
Detection Strategies
- Inventory Envoy deployments and flag any running versions below 1.35.13, 1.36.9, 1.37.5, or 1.38.3 that also enable the ext_proc filter.
- Monitor gRPC traffic to ext_proc endpoints for abnormal batching patterns, such as a single message containing multiple ProcessingResponse entries.
- Alert on repeated Envoy pod restarts in Kubernetes environments where ext_proc is configured.
Monitoring Recommendations
- Enable Envoy admin metrics for filter errors and stream terminations, and forward them to a central logging system.
- Track health-check failures and 5xx spikes on listeners that chain through ext_proc filters.
- Audit which teams or services operate ext_proc backends and record the trust level assigned to each.
How to Mitigate CVE-2026-47207
Immediate Actions Required
- Upgrade Envoy to 1.35.13, 1.36.9, 1.37.5, or 1.38.3, matching your current minor release.
- If upgrade is not immediate, disable the ext_proc filter or restrict it to trusted internal servers only.
- Verify mutual TLS is enforced between Envoy and every ext_proc backend to block untrusted servers.
Patch Information
The Envoy maintainers fixed the use-after-free in versions 1.35.13, 1.36.9, 1.37.5, and 1.38.3. Details are published in the Envoy GitHub Security Advisory GHSA-68cv-hq5f-g6xv. Service mesh users on Istio, Consul, or Gloo should track their distribution's updated Envoy build.
Workarounds
- Remove envoy.filters.http.ext_proc from HTTP filter chains until patched binaries are deployed.
- Route ext_proc traffic only to servers operated by the same trust domain as the proxy.
- Enforce network policies that allow only vetted workloads to serve the ext_proc gRPC endpoint.
# Configuration example: remove the ext_proc filter from the HTTP filter chain
# Review envoy.yaml and drop entries of type:
# type.googleapis.com/envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor
grep -R "ext_proc" /etc/envoy/ /etc/istio/
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

