Overview

FieldValue
ID1059
NameManage RuntimeClasses
Risk CategoryElevation of Privilege
Risk LevelCritical
Role TypeClusterRole
API Groupsnode.k8s.io
Resourcesruntimeclasses
Verbscreate, update, patch, delete
TagsNodeAccess PotentialPrivilegeEscalation PrivilegeEscalation Tampering

Description

Grants control over RuntimeClasses, which define different container runtime configurations. A malicious RuntimeClass could specify a compromised runtime or allow for escape to the underlying node, leading to node access, tampering, and privilege escalation.

Abuse Scenarios

  1. Create a new RuntimeClass pointing to a malicious or non-existent handler.
kubectl create -f - <<EOF
apiVersion: node.k8s.io/v1
kind: RuntimeClass
metadata:
  name: malicious-runtime
handler: malicious-handler
EOF
# Example: kubectl create -f - <<EOF ... EOF
  1. Delete an existing RuntimeClass, potentially disrupting workloads using it.
kubectl delete runtimeclass <runtimeclass-name>
# Example: kubectl delete runtimeclass kata