UCF STIG Viewer Logo

Secrets in Kubernetes must not be stored as environment variables.


Finding ID Version Rule ID IA Controls Severity
V-242415 CNTR-K8-001160 SV-242415r863991_rule High
Secrets, such as passwords, keys, tokens, and certificates should not be stored as environment variables. These environment variables are accessible inside Kubernetes by the "Get Pod" API call, and by any system, such as CI/CD pipeline, which has access to the definition file of the container. Secrets must be mounted from files or stored within password vaults.
Kubernetes Security Technical Implementation Guide 2022-09-13


Check Text ( C-45690r863838_chk )
On the Kubernetes Control Plane, run the following command:
kubectl get all -o jsonpath='{range .items[?(@..secretKeyRef)]} {.kind} {.metadata.name} {"\n"}{end}' -A

If any of the values returned reference environment variables, this is a finding.
Fix Text (F-45648r712600_fix)
Any secrets stored as environment variables must be moved to the secret files with the proper protections and enforcements or placed within a password vault.