This is not the latest version of the STIG. This is provided for archival purposes. See the latest STIG.

The Kubernetes Controller Manager must create unique service accounts for each work payload.

STIG ID: CNTR-K8-000220  |  SRG: SRG-APP-000023-CTR-000055 |  Severity: high (CAT I)  |  CCI: CCI-000015 |  Vulnerability Id: V-242381

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

Change to the /etc/kubernetes/manifests directory on the Kubernetes Control Plane. Run the command:

grep -i use-service-account-credentials *

If the setting "--use-service-account-credentials" is not configured in the Kubernetes Controller Manager manifest file or it is set to "false", this is a finding.

Fix

Edit the Kubernetes Controller Manager manifest file in the /etc/kubernetes/manifests directory on the Kubernetes Control Plane.

Set the value of "--use-service-account-credentials" to "true".