The Kubernetes Kubelet must have the read-only port flag disabled.

STIG ID: CNTR-R2-000130  |  SRG: SRG-APP-000033-CTR-000095 |  Severity: high |  CCI: CCI-000213 |  Vulnerability Id: V-254559

Vulnerability Discussion

Kubelet serves a small REST API with read access to port 10255. The read-only port for Kubernetes provides no authentication or authorization security control. Providing unrestricted access on port 10255 exposes Kubernetes pods and containers to malicious attacks or compromise. Port 10255 is deprecated and should be disabled.

Close the read-only-port by setting the API server's read-only port flag to "0".

Check

Ensure read-only-port is set correctly so anonymous requests will be rejected.

Run this command on each node:
/bin/ps -ef | grep kubelet | grep -v grep

If --read-only-port is not set to "0" or is not configured, this is a finding.

Fix

Edit the RKE2 Server configuration file on all RKE2 Server hosts, located at /etc/rancher/rke2/config.yaml, to contain the following:
kubelet-arg:
--read-only-port=0

If configuration files are updated on a host, restart the RKE2 Service. Run the command "systemctl restart rke2-server" for server hosts and "systemctl restart rke2-agent" for agent hosts.