Kubernetes must limit Secret access on a need-to-know basis.

STIG ID: CNTR-K8-001163  |  SRG: SRG-APP-000429-CTR-001060 |  Severity: medium |  CCI: CCI-002476 |  Vulnerability Id: V-274884

Vulnerability Discussion

Kubernetes secrets may store sensitive information such as passwords, tokens, and keys. Access to these secrets should be limited to a need-to-know basis via Kubernetes RBAC.

Check

Review the Kubernetes accounts and their corresponding roles.

If any accounts have read (list, watch, get) access to Secrets without a documented organizational requirement, this is a finding.

Run the below command to list the workload resources for applications deployed to Kubernetes:
kubectl get all -A -o yaml

If Secrets are attached to applications without a documented requirement, this is a finding.

Fix

For Kubernetes accounts that have read access to Secrets without a documented requirement, modify the corresponding Role or ClusterRole to remove list, watch, and get privileges for Secrets.