More Info:
Verifies that the controller manager —profiling argument is set to false so detailed profiling data is not exposed to potential attackers.Risk Level
MediumAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every control plane node, open the kube-controller-manager static pod manifest for editing:
-
In the
spec.containers[0].command(orargs) list, add or update the profiling flag so it is explicitly disabled:Ensure there is no other--profiling=entry with a different value. -
Save the file and exit the editor. The kube-controller-manager static pod will be automatically restarted by the kubelet because the manifest under
/etc/kubernetes/manifestschanged. Be aware this briefly restarts the controller manager on this control plane node. -
Repeat steps 1–3 on every control plane node that has a
/etc/kubernetes/manifests/kube-controller-manager.yamlfile. -
After the controller manager has restarted on a node, verify that profiling is disabled by inspecting the running process on that node:
Confirm the output includes
--profiling=falseand does not include--profiling=trueor a bare--profilingflag.
Using kubectl
Using kubectl
kubectl cannot change the
--profiling flag for the controller manager because it is configured via the static pod manifest on each control plane node at /etc/kubernetes/manifests/kube-controller-manager.yaml. To remediate this finding, follow the guidance in the Manual Steps section on each control plane node.Automation
Automation

