Kubetier
← Permission Reference
T0

bind clusterroles

Removes the safeguard against binding a ClusterRole with permissions you don't hold.

Combined with create or update on ClusterRoleBindings, or RoleBindings that reference a ClusterRole, this grants cluster-admin-equivalent access.

API Group
rbac.authorization.k8s.io
Scope
cluster
Audit Level
RequestResponse

Escalation Paths

  1. The bind verb bypasses escalation prevention on ClusterRoleBindings

  2. Create a ClusterRoleBinding from cluster-admin to your own identity

  3. You now hold cluster-admin

Additional rights needed:

Note:

By design, holding bind on clusterrolebindings intentionally allows self-binding to cluster-admin.

No patch exists.

K8s docs ↗
  1. A RoleBinding can reference a ClusterRole.

    This is valid RBAC.

    The ClusterRole's permissions are scoped to the RoleBinding's namespace.

    Cluster-scoped resources remain inaccessible.

  2. bind on clusterroles bypasses the escalation check.

    Create a RoleBinding to cluster-admin or any ClusterRole you don't fully hold.

  3. Full control over namespace-scoped resources in that namespace, but cluster-scoped resources remain blocked.

    This reaches T0 in kube-system via controller SA tokens and Secrets.

Additional rights needed:

Note:

kubectl auth can-i falsely returns yes for cluster-scoped resources when bound via a RoleBinding to a wildcard ClusterRole (SubjectAccessReview quirk).

Actual requests are correctly denied.

A create or patch on nodes returns Forbidden.

K8s docs ↗
K8s docs ↗