Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain in-cluster pod foothold
-
DeliveryReach xDS gRPC server on port 18000
-
ExploitSend SotW DiscoveryRequest (StreamSecrets/ADS)
-
ExecutionBypass JWT interceptor via type-assertion gap
-
PersistStream TLS keys and xDS config
-
ImpactImpersonate services or intercept traffic
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that Envoy Gateway is deployed in GatewayNamespaceMode (provider.kubernetes.deploy.type=GatewayNamespace) - this is the specific configuration that installs the flawed StreamInterceptor with no UnaryInterceptor. The attacker must have a network position inside the cluster (a pod, per the advisory) with reachability to the xDS gRPC server on TCP port 18000; the CVSS vector AV:A confirms an adjacent, not internet-facing, requirement. The bypass is triggered specifically by using the State-of-the-World xDS protocol (discoveryv3.DiscoveryRequest) rather than Delta, or by calling any unary Fetch RPC. Limiting factors: GatewayNamespaceMode is a non-default deployment choice, exploitation is confined to entities already on the cluster network able to reach port 18000, and impact is read/disclosure only (no config tampering per I:N). Deployments not using GatewayNamespaceMode and versions 1.8.1 / 1.7.4 or later are not exploitable. |
| Impact | The signals are moderately but not uniformly severe. The supplied CVSS 3.1 vector (AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N = 7.4) reflects an unauthenticated, low-complexity read against an adjacent (in-cluster) network position, with a scope change because the control plane leaks other workloads' secrets, and confidentiality-only impact (no integrity or availability effect). The AV:A choice is important: this is not internet-reachable by default - the attacker must already hold a foothold as a pod on the cluster network able to reach port 18000, which meaningfully limits blast radius to post-compromise or malicious-tenant scenarios. There is no EPSS score, no SSVC decision, no KEV listing, and no evidence of a public POC in the provided data, so exploitation appears theoretical/targeted rather than opportunistic at this time. The offsetting factor is impact quality: disclosure of TLS private keys and full routing/endpoint configuration is a high-value prize that can enable downstream MITM, impersonation, and lateral movement. Net: a real priority for clusters actually running GatewayNamespaceMode, but the non-default deployment mode and adjacent-only vector keep it below drop-everything urgency. |
| Exploit ScenarioDerived | An attacker who has compromised or legitimately deployed a low-privileged pod in a cluster running Envoy Gateway in GatewayNamespaceMode opens a gRPC connection to the control plane on port 18000 and issues a State-of-the-World StreamSecrets (SDS) request without any JWT. Because the interceptor only validates Delta requests, the SotW request bypasses authentication and streams back TLS private keys and full xDS configuration, which the attacker then uses to impersonate services or intercept traffic. No public POC is identified, but the attack requires only standard gRPC tooling and low complexity. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 16, 2026
Authentication bypass and control-plane information disclosure in Envoy Gateway (versions >= 1.8.0-rc.0 to < 1.8.1, and all releases < 1.7.4) allows any in-cluster pod that can reach the xDS gRPC server on port 18000 to read sensitive xDS resources without valid credentials. The flaw affects only deployments running in GatewayNamespaceMode, where the JWT StreamInterceptor mishandles State-of-the-World DiscoveryRequests and no UnaryInterceptor guards the Fetch endpoints, exposing TLS private keys (SDS), clusters/endpoints, and routing configuration. No public exploit identified at time of analysis, and it is not listed in CISA KEV; CVSS is 7.4 (High).
RemediationAI
Vendor-released patch: upgrade to Envoy Gateway 1.8.1 (for the 1.8.x line) or 1.7.4 (for the 1.7.x line), which add the missing unary authentication and correctly validate SotW DiscoveryRequest messages. If immediate upgrade is not possible, the most direct compensating control is to stop running in GatewayNamespaceMode where feasible, or restrict network reachability to the xDS server: apply a Kubernetes NetworkPolicy that allows ingress to the control plane's port 18000 only from the specific managed Envoy proxy pods (by namespace/pod selector), denying all other in-cluster pods - the trade-off is that an overly tight or misconfigured policy can break proxy config delivery, so validate proxy connectivity after applying. Additionally minimize the impact of key exposure by rotating any TLS material that may have been reachable and enforcing per-namespace tenant isolation. Refer to the advisory at https://github.com/envoyproxy/gateway/security/advisories/GHSA-22xc-xg2r-9j7v for authoritative guidance.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Envoy Gateway is a Kubernetes-native control plane that manages Envoy proxies via the xDS protocol, built on the go-control-plane library. The go-control-plane server exposes each discovery service (ADS, SDS, CDS, EDS, RDS, LDS) over both streaming RPCs and unary Fetch RPCs. In GatewayNamespaceMode the gRPC server registers a StreamInterceptor to enforce JWT authentication but registers no UnaryInterceptor, so the unary Fetch methods are left entirely unguarded. Compounding this, the StreamInterceptor's validation logic only runs when the inbound message type-asserts to discoveryv3.DeltaDiscoveryRequest (the incremental/Delta xDS protocol); a discoveryv3.DiscoveryRequest from the legacy State-of-the-World (SotW) protocol fails the assertion, skips the validation branch, and RecvMsg returns nil, treating the unauthenticated request as valid. This is a textbook CWE-306 (Missing Authentication for a Critical Function): the security control exists but does not cover all code paths and message types. Affected package is the Go module github.com/envoyproxy/gateway.
Know when Kubernetes 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:A/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Any in-cluster pod reaching port 18000 exploits it unauthenticated with low complexity (AV:A/AC:L/PR:N); leaking other workloads' TLS keys is a scope change (S:C) with confidentiality-only impact (C:H, I:N, A:N).
Primary rating from Vendor (https://github.com/envoyproxy/gateway).
CVSS VectorVendor: https://github.com/envoyproxy/gateway
DescriptionCVE.org
Impact
When Envoy Gateway runs in GatewayNamespaceMode (provider.kubernetes.deploy.type=GatewayNamespace), the xDS gRPC server is configured with a StreamInterceptor for JWT authentication but no UnaryInterceptor. The go-control-plane xDS server exposes both streaming and unary (Fetch) RPC methods for all registered discovery services. Since there is no unary interceptor, these Fetch endpoints are completely unauthenticated.
Additionally, the JWT authentication interceptor in GatewayNamespaceMode only validates tokens when the received gRPC message is of type discoveryv3.DeltaDiscoveryRequest . If the message is a discoveryv3.DiscoveryRequest - used by the State-of-the-World (SotW) xDS protocol - the type assertion fails, the validation block is skipped entirely, and RecvMsg returns nil (success) without any authentication.
Any pod in the cluster that can reach the xDS server (port 18000) can use the SotW protocol to bypass JWT authentication and access:
- TLS private keys via StreamSecrets (SDS)
- All xDS resources via StreamAggregatedResources (ADS)
- Backend endpoints via StreamClusters / StreamEndpoints (CDS/EDS)
- Routing rules via StreamRoutes / StreamListeners (RDS/LDS)
Credits
Envoy Gateway thanks @dashingDragon and @Donjon-Cerberus for reporting this issue.
Articles & Coverage 1
Executive ViewAI
Envoy Gateway in GatewayNamespaceMode (versions prior to 1.8.1 and 1.7.4) contains an unauthenticated authentication bypass permitting any in-cluster pod to read sensitive control-plane resources including TLS private keys, cluster endpoints, and routing policies. This exposure critically undermines service mesh security by compromising encryption credentials and enabling unauthorized traffic routing, creating significant risk across dependent services.
Implement network segmentation restricting port 18000 access to authorized control-plane components only; deploy Kubernetes NetworkPolicies blocking untrusted pods from reaching the xDS gRPC endpoint; enable detailed audit logging on all control-plane access; monitor and alert on unexpected connections to port 18000; if operationally feasible, migrate production workloads away from GatewayNamespaceMode deployments until vendor patch is deployed.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Kubernetes
View allA critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c
Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.exter
A security issue was discovered in Kubernetes where a user that can create pods on Windows nodes may be able to escalate
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne
Unauthenticated remote attackers can trigger complete database overwrites, server-side file reads, and SSRF attacks agai
The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4
Fluentd configuration injection in the kube-logging Logging operator before 6.6.0 allows a namespace-scoped user who can
Authenticated Typebot users can abuse the webhook block (HTTP Request component) in versions prior to 3.13.1 to issue ar
Same technique Authentication Bypass
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-78081
GHSA-22xc-xg2r-9j7v
NVD
CVE.org
EPSS
Exploit-DB