Skip to main content

More Info:

Ensure that the kubelet configuration file has permissions of 644 or more restrictive.

Risk Level

Medium

Address

Security

Compliance Standards

  • APRA CPS 234 (Australia)
  • BSI C5 (Germany)
  • Brazil LGPD
  • CCPA / CPRA (California)
  • CIS Critical Security Controls v8
  • CIS OKE
  • CMMC 2.0
  • CSA Cloud Controls Matrix v4
  • DPDPA
  • Digital Operational Resilience Act (EU)
  • Essential 8
  • ISO/IEC 27017
  • ISO/IEC 27018
  • ISO/IEC 27701
  • KSA PDPL
  • MAS Technology Risk Management (Singapore)
  • MITRE ATT&CK (Cloud)
  • NIS2 Directive
  • NIST SP 800-171
  • NYDFS 23 NYCRR 500
  • SWIFT Customer Security Controls Framework
  • Sarbanes-Oxley IT General Controls
  • UK NCSC Cyber Assessment Framework

Triage and Remediation

Remediation

Manual Steps

  1. On every worker node, check the current permissions of the kubelet configuration file:
  2. On every worker node, set the permissions to 644 (owner read/write, group read, others read):
  3. (If your environment expects the legacy path as well) If /etc/kubernetes/kubelet-config.json exists, align its permissions too:
  4. On every worker node, verify the final permissions for the active kubelet config file:
  5. (Optional) If you use /etc/kubernetes/kubelet-config.json for tooling or compatibility, verify its permissions as per the benchmark’s audit:
kubectl cannot modify file permissions on node-local kubelet configuration files such as /var/lib/kubelet/config.yaml; this must be fixed directly on every worker node via host-level access (for example, SSH). See the Manual Steps section for the exact commands to run on each node.

Additional Reading: