Skip to main content

More Info:

Ensure that the scheduler pod specification file has permissions of 644 or more restrictive.

Risk Level

High

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every control plane node, check the current permissions of the scheduler pod specification file:
  2. If the reported permissions are more permissive than 644 (for example, 664, 666, 600 is fine, 640 is fine), set them to 644:
  3. (Optional but recommended) Confirm the file is owned by root (no change required by this control, just verify):
  4. Be aware: because this file is under /etc/kubernetes/manifests, the kube-scheduler static pod may be briefly restarted by the kubelet when it detects the file change. Plan to make this change during a maintenance window if scheduler restarts are sensitive in your environment.
  5. Verify that the permissions are now 644 or more restrictive (e.g., 640, 600) on every control plane node:
kubectl cannot modify file permissions on control plane nodes, including /etc/kubernetes/manifests/kube-scheduler.yaml. This fix must be applied directly on each control plane node’s filesystem; see the Manual Steps section for the exact commands to run over SSH.

Additional Reading: