CVE-2026-31838
Istio Control Plane (istiod) vulnerability analysis and mitigation

Overview

CVE-2026-31838 is an incorrect authorization vulnerability in Istio's XDS debug handler that allows authenticated non-system workloads to access proxy configuration data across namespace boundaries. When ENABLE_DEBUG_ENDPOINT_AUTH is enabled, the DebugGen handler on ports 15012 and 15014 dispatches requests to the internal HTTP debug mux without setting the required caller namespace context, enabling cross-namespace data leakage. Affected versions include all Istio releases prior to 1.27.8, 1.28.0–1.28.4, and 1.29.0. It was disclosed on March 10, 2026, with a CVSS v3.1 score of 5.3 (Medium) and a CVSS v4.0 score of 6.9 (Medium) (GitHub Advisory).

Technical details

The root cause is CWE-863 (Incorrect Authorization): the processDebugRequest function in pilot/pkg/xds/debuggen.go constructed HTTP requests to the internal debug mux using http.NewRequest without attaching the caller's namespace via CallerNamespaceKey{} context. As a result, the downstream getDebugConnection handler found an empty namespace context and skipped namespace-scoped filtering, allowing any authenticated workload to retrieve istio.io/debug/config_dump for workloads in arbitrary namespaces. The fix, committed as 004fd69, passes the caller's verified namespace into the request context via context.WithValue before dispatching to the mux (GitHub Advisory, Fix Commit).

Impact

Successful exploitation allows an authenticated non-system workload to retrieve proxy configuration dumps (config_dump) for workloads in other Kubernetes namespaces, exposing cross-namespace routing rules, service endpoints, and mesh topology data. This information disclosure could facilitate lateral movement by revealing internal service addresses, mTLS certificate details, and traffic policies that an attacker could use to plan further attacks within the mesh. There is no integrity or availability impact; the vulnerability is limited to confidentiality of mesh configuration data (GitHub Advisory).

Exploitability

No public proof-of-concept exploit code or in-the-wild exploitation has been reported as of the disclosure date. The vulnerability requires the attacker to already be an authenticated workload within the Istio mesh and requires ENABLE_DEBUG_ENDPOINT_AUTH to be enabled, limiting the attack surface. The EPSS score is approximately 0.041%, indicating a low probability of near-term exploitation. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. Reporters credited are 1seal and r0binak (GitHub Advisory).

Exploitation steps

  1. Prerequisite: Confirm the target Istio deployment has ENABLE_DEBUG_ENDPOINT_AUTH enabled and is running a vulnerable version (prior to 1.27.8, 1.28.5, or 1.29.1).
  2. Obtain authenticated workload identity: Gain access to a non-system workload within the Istio mesh that has a valid SPIFFE identity (e.g., a compromised pod in a non-system namespace).
  3. Establish XDS connection: From the compromised workload, initiate an XDS (gRPC) connection to the Istiod control plane on port 15012 or 15014, authenticating with the workload's mTLS certificate.
  4. Request debug resource: Send an XDS subscription request with TypeUrl set to the debug type and ResourceNames containing config_dump (i.e., istio.io/debug/config_dump).
  5. Receive cross-namespace data: Because the caller namespace context is not set in the internal HTTP request, the debug handler returns proxy configuration for workloads across all namespaces, including routing rules, endpoints, and topology data not belonging to the attacker's namespace (GitHub Advisory, Fix Commit).

Indicators of compromise

  • Network: Unexpected XDS gRPC connections to Istiod ports 15012 or 15014 originating from non-system namespace workloads; unusual volume of config_dump debug requests from workloads that do not typically interact with the control plane debug interface.
  • Logs: Istiod access logs showing istio.io/debug/config_dump requests authenticated by workload identities from non-system namespaces (e.g., SPIFFE URIs not matching istio-system); repeated debug endpoint access from the same workload identity in short time windows.
  • Process/Behavior: Workloads in application namespaces initiating direct gRPC connections to Istiod control plane ports rather than through the standard data plane proxy path.

Mitigation and workarounds

Upgrade Istio to one of the patched versions: 1.27.8, 1.28.5, or 1.29.1. The vendor has confirmed no workarounds are available for this vulnerability. Organizations unable to upgrade immediately should consider disabling ENABLE_DEBUG_ENDPOINT_AUTH if debug endpoint access is not operationally required, or restricting network access to Istiod ports 15012 and 15014 to trusted system workloads only via Kubernetes NetworkPolicy (GitHub Advisory, Istio 1.28.5 Release).

Community reactions

The vulnerability was reported by security researchers 1seal and r0binak and published by Istio maintainer dhawton on March 10, 2026. Google Cloud referenced the issue in its security bulletins for Cloud customers. The Istio 1.30 release notes also acknowledged the fix as part of the changelog. No significant broader media coverage or notable community controversy has been observed (GitHub Advisory, Istio 1.30 Notes).

Additional resources


SourceThis report was generated using AI

Related Istio Control Plane (istiod) vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-31837HIGH8.7
  • Istio Control Plane (istiod) logoIstio Control Plane (istiod)
  • istio-1.29
NoYesMar 10, 2026
CVE-2026-41413HIGH7.7
  • Istio Control Plane (istiod) logoIstio Control Plane (istiod)
  • cpe:2.3:a:istio:istio
NoYesMay 07, 2026
CVE-2026-31838MEDIUM6.9
  • Istio Control Plane (istiod) logoIstio Control Plane (istiod)
  • istio-1.29
NoYesMar 10, 2026
CVE-2026-39350MEDIUM5.4
  • Istio Control Plane (istiod) logoIstio Control Plane (istiod)
  • istio.io/istio
NoYesApr 15, 2026
CVE-2026-23766NONEN/A
  • Istio Control Plane (istiod) logoIstio Control Plane (istiod)
  • cpe:2.3:a:istio:istio
NoYesJan 15, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management