Check: CNTR-K8-000440
Kubernetes STIG:
CNTR-K8-000440
(in versions v1 r9 through v1 r7)
Title
The Kubernetes kubelet static PodPath must not enable static pods. (Cat I impact)
Discussion
Allowing kubelet to set a staticPodPath gives containers with root access permissions to traverse the hosting filesystem. The danger comes when the container can create a manifest file within the /etc/kubernetes/manifests directory. When a manifest is created within this directory, containers are entirely governed by the Kubelet not the API Server. The container is not susceptible to admission control at all. Any containers or pods that are instantiated in this manner are called "static pods" and are meant to be used for pods such as the API server, scheduler, controller, etc., not workload pods that need to be governed by the API Server.
Check Content
On the Kubernetes Control Plane and Worker nodes, run the command: ps -ef | grep kubelet Check the config file (path identified by: --config): Change to the directory identified by --config (example /etc/sysconfig/) run the command: grep -i staticPodPath kubelet If any of the nodes return a value for staticPodPath, this is a finding.
Fix Text
Edit the kubelet file on each node under the --config directory and remove the staticPodPath setting. Reset Kubelet service using the following command: service kubelet restart
Additional Identifiers
Rule ID: SV-242397r879530_rule
Vulnerability ID: V-242397
Group Title: SRG-APP-000033-CTR-000090
Expert Comments
CCIs
Number | Definition |
---|---|
CCI-000213 |
The information system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies. |
Controls
Number | Title |
---|---|
AC-3 |
Access Enforcement |