Kubetier
← Permission Reference
T1

create rolebindings

Alone, escalation prevention only permits binding roles whose permissions you already hold.

With bind on the referenced Role or ClusterRole, this grants full namespace control.

In kube-system, the impact can reach T0.

T0 with following verbs:

Namespace-scoped rights over a namespace holding cluster-privileged credentials

scoped to kube-system, or any namespace holding a cluster-privileged ServiceAccount

bind on clusterroles waives escalation prevention, so a RoleBinding can reference cluster-admin without the caller holding it.

Scoped to one namespace, this still reaches the controller credentials that live in kube-system.

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

Escalation Paths

  1. Use escalate on roles to bypass the check that normally prevents writing permissions you do not already hold.

  2. Create or update a Role granting arbitrary permissions in the namespace.

  3. Activate it with a RoleBinding.

    Creating or changing the binding still needs bind on the referenced Role, or the caller must already hold the referenced permissions.

Additional rights needed:

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 ↗

Included in Built-in Roles

K8s docs ↗