Kubetier
  1. Create a RuntimeClass whose scheduling.tolerations and scheduling.nodeSelector target a control-plane node.

  2. Create a pod that sets only runtimeClassName.

    The RuntimeClass admission plugin merges the toleration and nodeSelector into the pod spec during that same request.

  3. The pod's own manifest carries neither field, so manifest review, GitOps diffs, and static scanning miss it.

    Validating admission does see the merged spec and can still catch it.

  4. Placement alone is a scheduling-policy bypass.

    A standard pod sitting on a control-plane node reads nothing it could not read elsewhere.

  5. It becomes host compromise only with a pod spec that reaches the host, such as privileged or a hostPath mount of /etc/kubernetes.

Rights needed:

K8s docs ↗