Check ID:
Provider: Kubernetes
Service:
Severity: HIGH
Categories:
Resource type:
kubelet_service_file_ownership_rootProvider: Kubernetes
Service:
kubeletSeverity: HIGH
Categories:
node-securityResource type:
NodeWhat this check verifies
Kubernetes Kubelet service configuration on each node is expected to be owned by root. This assessment inspects the systemd drop-in at/etc/systemd/system/kubelet.service.d/kubeadm.conf and expects ownership root:root, ensuring only privileged users can modify kubelet startup settings.
Risk
Non-root ownership enables unauthorized changes to kubelet startup flags, degrading configuration integrity and service availability. Attackers could disable auth, expose ports, weaken TLS, or load rogue configs-leading to node compromise, credential theft (confidentiality), lateral movement, and cluster disruption.Recommendation
Apply least privilege to node config: ensure the kubelet service file isroot:root and writable only by root. Use configuration management to enforce permissions and detect drift, enable file integrity monitoring, harden the OS, and restrict privileged node access with separation of duties.
Remediation
- CLI
- Dashboard steps
sudo chown root:root /etc/systemd/system/kubelet.service.d/kubeadm.conf
References
- https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/kubelet-integration/
- https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-config/
Where this check fires
This check runs on every scheduled scan against your Kubernetes account. Findings appear at Cloud Security → Findings filterable byCheck ID = kubelet_service_file_ownership_root. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to Kubernetes checks