More Info:
Enable kubelet client certificate rotation.Risk Level
LowAddress
SecurityCompliance Standards
- APRA CPS 234 (Australia)
- BSI C5 (Germany)
- Brazil LGPD
- CCPA / CPRA (California)
- CIS Critical Security Controls v8
- CIS EKS
- 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
Remediation
Manual Steps
Manual Steps
- On every worker node, back up the current kubelet configuration and systemd drop-in:
- On every worker node, edit the kubelet config file to enable certificate rotation:
rotateCertificates: true (add or update as needed), for example:- On every worker node, ensure no systemd argument disables rotation:
- Remove any occurrence of
--rotate-certificates=false. - If you must use flags instead of config, make sure
KUBELET_ARGS(or the ExecStart line) includes--rotate-certificates=trueand notfalse.
- On every worker node, reload systemd and restart kubelet (this will briefly disrupt pods scheduled on that node):
- On every worker node, verify the kubelet process is running with certificate rotation enabled and not disabled:
--rotate-certificates=false; if the flag appears, it should be --rotate-certificates=true, or the flag can be absent while rotateCertificates: true is set in /var/lib/kubelet/config.yaml.Using kubectl
Using kubectl
kubectl cannot modify kubelet process flags or its on-node configuration file
/var/lib/kubelet/config.yaml, so this finding cannot be fixed via the Kubernetes API. Make the changes directly on every worker node’s host configuration and systemd unit as described in the Manual Steps section.Automation
Automation

