Envoy Gateway: xDS Control Plane Information Disclosure when Envoy Gateway operates in GatewayNamespaceMode
21Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 7.4epss 0.3%
exploitation probability
0.3%top 79% of all CVEs
observed exploitation
nono source reports it
Envoy Gateway is an open source project for managing Envoy Proxy as a standalone or Kubernetes-based application gateway. Prior to 1.7.4 and 1.8.1, the xDS gRPC server in GatewayNamespaceMode, configured through provider.kubernetes.deploy.type=GatewayNamespace, installs a JWT StreamInterceptor but no UnaryInterceptor, leaving every unary Fetch RPC unauthenticated. The streaming interceptor also authenticates only discoveryv3.DeltaDiscoveryRequest messages; a discoveryv3.DiscoveryRequest used by the State-of-the-World protocol fails the type assertion and returns success without JWT validation. Any pod that can reach port 18000 can use the unauthenticated unary or State-of-the-World paths to retrieve TLS private keys through StreamSecrets, all xDS resources through StreamAggregatedResources, backend endpoints through StreamClusters or StreamEndpoints, and routing configuration through StreamRoutes or StreamListeners. This issue is fixed in versions 1.7.4 and 1.8.1.
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Affected products
envoyproxy · gatewayReferences
https://github.com/envoyproxy/gateway/commit/4df0809ff1ed59ffb09604da4084335b8c6647c5https://github.com/envoyproxy/gateway/commit/e9124abc4ff4b63a218a6890c1b28a982c850465https://github.com/envoyproxy/gateway/commit/f1f9829af2a231f0cae915c09800353c76622d97https://github.com/envoyproxy/gateway/pull/8986https://github.com/envoyproxy/gateway/pull/9116https://github.com/envoyproxy/gateway/pull/9118https://github.com/envoyproxy/gateway/releases/tag/v1.7.4https://github.com/envoyproxy/gateway/releases/tag/v1.8.1https://github.com/envoyproxy/gateway/security/advisories/GHSA-22xc-xg2r-9j7v