services / Kubernetes / Nodes
Nodes are physical or virtual machines that serve as a worker in the cluster. Nodes provide the underlying pool of CPU, memory, storage, and network connectivity resources for running containers and other tasks assigned by the control plane.
Nodes can be configured in multiple ways, and the configuration has a significant impact on Node security. In general, nodes should not be publicly accessible, block ssh access if possible (already enforced in AutoPilot mode), isolation between containers running on the same node, isolation between the host operating system on the node and the workload running inside a container, performing timely upgrades of the node OS, Kubernetes, and the container runtime.
core/nodes.update
The things that you can typically update are the metadata labels and annotations, and fields in the `spec` section of the node manifest: taints, which prevent certain pods to be scheduled on the node, and the `unschedulable` property, which effectively cordons the node. With enough nodes cordoned or tainted the cluster may become "paralyzed" because workloads cannot be scheduled efficiently or not at all.
Risks
Scope: CRITICAL
This privilege may grant access to sensitive data from a significant fraction of organizational functions, allow interruption of critical organizational services, or its exploit could lead to significant privilege escalation.
Links
Contributed by P0 Security