What it means for teams

Kubernetes permissions compose in ways that are easy to miss: list on Secrets returns their contents, escalate and bind let a user grant rights they lack, and a Helm chart can add a ClusterRole nobody reviewed. Effective access is the union of every configured authorizer, and kubectl auth can-i --list only shows RBAC.

How to prevent it

  • Grant each person and service account the narrowest role, namespace and verbs it needs; avoid cluster-admin, wildcards and the built-in edit and admin roles for everyday work.
  • Treat list and watch on Secrets, nodes/proxy, escalate, bind, impersonate and patch on namespaces as privileged, and review every grant of them.
  • Review the RBAC that third-party charts and operators install, including ClusterRole aggregation labels.
  • Audit every authorizer the cluster uses, such as a managed provider's access policies, not just RBAC, and give administrators time-bound elevated access instead of standing rights.

Guides on this site

Practice

Gaps on this site

The guides cover service account RBAC, read access to Secrets and managed providers' access policies. No guide here covers just-in-time administrator access to a cluster or reviewing the RBAC that Helm charts and operators install.

References

  1. K02:2025 Overly Permissive Authorization Configurations (OWASP)
  2. Kubernetes documentation: Role Based Access Control Good Practices

List data from the publisher. A guide is listed as the main subject when the weakness or risk is what the guide is about, and as covering it when a dedicated section or worked example addresses it.

OWASP does not publish a mapping between the 2022 and 2025 lists. The 2022 entry shown for each risk is the one with the same subject, matched by title; 2022's K02 Supply Chain Vulnerabilities has no 2025 counterpart.