More Info:
The —auto-tls argument must not be set to true, as it makes etcd generate and use self-signed certificates for client connections. This bypasses proper certificate-based authentication and exposes etcd data.Risk Level
CriticalAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every etcd (control plane) node, back up the existing manifest so you can roll back if needed:
-
On every etcd node, open the etcd static pod manifest for editing:
In the
spec.containers[].command(orargs) section:- Remove any
--auto-tls=trueargument, or - If you must keep the flag, change it explicitly to:
- Remove any
- Save the file and exit the editor. The kubelet will automatically detect the manifest change and restart the etcd static pod; this causes an etcd restart on that control plane node.
-
On every etcd node, wait a few seconds, then verify etcd is running without
--auto-tls=true:Confirm that:- There is no
--auto-tls=truein the process command line, and - If
--auto-tlsappears, it is--auto-tls=falseor the flag is absent.
- There is no
Using kubectl
Using kubectl
kubectl cannot change the etcd static pod manifest or its process flags. This finding must be remediated by editing
/etc/kubernetes/manifests/etcd.yaml directly on every etcd (control plane) node; see the Manual Steps section for the exact host-level procedure.Automation
Automation

