More Info:
The Kubernetes Web Ui (Dashboard) Has Been A Historical Source Of Vulnerability And Should Only Be Deployed When Necessary.Risk Level
MediumAddress
SecurityCompliance Standards
- CIS GKE
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
Identify all GKE clusters and their locations
Run on: any machine withgcloudaccess.ReplacePROJECT_IDwith your GCP project ID and note each clusternameandlocation. -
Check dashboard add‑on status for each cluster
Run on: any machine withgcloudaccess. For each cluster:- If the result is
nullor"disabled": true, the legacy add‑on is not enabled. - If
"disabled": falseor an object withenabled: trueis present, the dashboard add‑on is enabled.
- If the result is
-
Decide if the dashboard is strictly required
- If any cluster shows the dashboard enabled, review with application/operations teams:
- Is the dashboard actively used for operations, or could
kubectl, Cloud Console, or other tools replace it? - Are there compliance or security requirements that prohibit in-cluster dashboards?
- Is the dashboard actively used for operations, or could
- If not strictly required, plan to disable it. If required, ensure strong RBAC, restricted network access, and auditing.
- If any cluster shows the dashboard enabled, review with application/operations teams:
-
Disable the Kubernetes Dashboard add‑on where not needed
Run on: any machine withgcloudaccess. For each cluster where you decided to disable:Operational impact: this removes the managed dashboard add‑on; any workflows depending on it will lose access and must use alternative tools. -
Verify the dashboard add‑on is disabled
Run on: any machine withgcloudaccess. For each updated cluster:Confirm the output isnullor shows"disabled": true. -
(Optional) Search for any other dashboard deployments
This is not controlled by the add‑on setting but may indicate residual dashboards.
Run on: any machine withgcloudandkubectlaccess. For each cluster, get credentials then:If you find custom dashboard deployments, review and remove them if they’re not strictly required.
Using kubectl
Using kubectl
kubectl cannot disable the managed Kubernetes Web UI (Dashboard) in GKE, because this setting is controlled at the GKE cluster add‑on level in the Google Cloud control plane. Use the cloud provider configuration (gcloud CLI/console/IaC) as described in the Manual Steps section to remediate this finding.
Automation
Automation
- Any row where
ADDON_STATUSisENABLEDindicates the Kubernetes Dashboard addon is active on that cluster and should be reviewed. - Rows with
ADDON_STATUS=UNKNOWNmean the script could not confidently determine the state; investigate those clusters manually with:

