CVE-2025-64323 Overview
kgateway is a Cloud-Native API and AI Gateway used in Kubernetes environments to manage traffic routing and service configuration. CVE-2025-64323 is a missing authentication vulnerability [CWE-862] affecting the xDS (Envoy discovery service) port. Any client with network reachability to the xDS port can retrieve sensitive configuration data without providing credentials. Exposed data includes certificate material, backend service information, routing rules, and cluster metadata. Affected versions include kgateway 2.0.4 and earlier, and 2.1.0-agw-cel-rbac through 2.1.0-rc.2. The maintainers addressed the issue in versions 2.0.5 and 2.1.0.
Critical Impact
Unauthenticated adjacent-network access to the kgateway xDS port discloses certificates, routing configuration, and cluster metadata that attackers can use to map internal services and stage further attacks.
Affected Products
- kgateway versions 2.0.4 and earlier
- kgateway 2.1.0-agw-cel-rbac through 2.1.0-rc.2
- Kubernetes clusters exposing the kgateway xDS port to adjacent networks
Discovery Timeline
- 2025-11-07 - CVE-2025-64323 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-64323
Vulnerability Analysis
kgateway exposes an xDS control-plane endpoint that Envoy data-plane proxies use to fetch dynamic configuration. In affected releases the xDS listener performs no client authentication. A caller that can reach the port receives full configuration snapshots on request. Retrievable material includes TLS certificate data, backend service definitions, HTTP and gRPC routing rules, and cluster metadata describing upstream targets. This information gives an attacker a map of the internal service topology and can enable impersonation of the control plane or targeted follow-on attacks against exposed backends.
Root Cause
The root cause is missing authorization on the xDS gRPC service [CWE-862]. The server accepts discovery requests from any peer that completes a transport-layer connection. There is no verification of client identity, no mutual TLS enforcement, and no policy layer restricting which callers may subscribe to configuration streams. The fix in kgateway 2.0.5 and 2.1.0 introduces client authentication controls on the xDS listener.
Attack Vector
Exploitation requires network reachability to the xDS port from an adjacent network position, such as another pod in the same cluster, a compromised node, or a misconfigured Service or NetworkPolicy that exposes the port. The attacker sends standard xDS discovery requests (ListenerDiscoveryService, ClusterDiscoveryService, RouteDiscoveryService, SecretDiscoveryService) and reads the responses. No credentials, user interaction, or prior compromise of the gateway process is required. See the GitHub Security Advisory GHSA-4766 for maintainer detail.
Detection Methods for CVE-2025-64323
Indicators of Compromise
- Unexpected TCP connections to the kgateway xDS port originating from pods or nodes outside the Envoy data plane.
- gRPC streams to xDS discovery services (envoy.service.discovery.v3.AggregatedDiscoveryService) from unknown client identities.
- Egress of certificate material or routing configuration from gateway pods to unusual destinations.
Detection Strategies
- Audit kubectl get svc and NetworkPolicy objects to identify any exposure of the xDS port beyond the intended Envoy proxies.
- Enable gRPC access logging on the kgateway control plane and alert on discovery requests from unexpected source workloads.
- Correlate Kubernetes audit logs with pod-to-pod flow data to identify workloads that initiate xDS traffic.
Monitoring Recommendations
- Monitor kgateway release channels and update to 2.0.5 or 2.1.0 or later immediately.
- Track connection metrics on the xDS listener and baseline expected client counts.
- Alert on new source IP addresses or service accounts initiating xDS subscriptions.
How to Mitigate CVE-2025-64323
Immediate Actions Required
- Upgrade kgateway to version 2.0.5 (2.0.x line) or 2.1.0 (2.1.x line) as published in the maintainer advisory.
- Restrict network access to the xDS port using Kubernetes NetworkPolicy so only Envoy data-plane pods can connect.
- Rotate any TLS certificates and secrets that were served through the exposed xDS endpoint.
Patch Information
The kgateway maintainers resolved this issue in versions 2.0.5 and 2.1.0. Fix details are tracked in GitHub Pull Request #12471 and GitHub Pull Request #12535, with background context in GitHub Issue #10651.
Workarounds
- Apply a Kubernetes NetworkPolicy limiting ingress to the xDS port to the gateway proxy pod selector only.
- Place the kgateway control plane in a dedicated namespace with default-deny ingress and explicit allow rules.
- Ensure the xDS Service is ClusterIP and never exposed via NodePort, LoadBalancer, or an Ingress resource.
# Example NetworkPolicy restricting xDS port access to Envoy proxies
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: kgateway-xds-restrict
namespace: kgateway-system
spec:
podSelector:
matchLabels:
app: kgateway
policyTypes:
- Ingress
ingress:
- from:
- podSelector:
matchLabels:
app: kgateway-proxy
ports:
- protocol: TCP
port: 9977
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

