RKE2 must use a centralized user management solution to support account management functions.

STIG ID: CNTR-R2-000030  |  SRG: SRG-APP-000023-CTR-000055 |  Severity: medium |  CCI: CCI-000015 |  Vulnerability Id: V-254554

Vulnerability Discussion

The Kubernetes Controller Manager is a background process that embeds core control loops regulating cluster system state through the API Server. Every process executed in a pod has an associated service account. By default, service accounts use the same credentials for authentication. Implementing the default settings poses a high risk to the Kubernetes Controller Manager. Setting the use-service-account-credential value lowers the attack surface by generating unique service accounts settings for each controller instance.

Check

Ensure use-service-account-credentials argument is set correctly.

Run this command on the RKE2 Control Plane:
/bin/ps -ef | grep kube-controller-manager | grep -v grep

If --use-service-account-credentials argument is not set to "true" or is not configured, this is a finding.

Fix

Edit the RKE2 Configuration File /etc/rancher/rke2/config.yaml on the RKE2 Control Plane and set the following "kube-controller-manager-arg" argument:
- use-service-account-credentials=true

Once the configuration file is updated, restart the RKE2 Server. Run the command:
systemctl restart rke2-server