More Info:
Do not allow all requests.Risk Level
LowAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
On every control plane node, open the kube-apiserver static pod manifest in an editor:
-
In the
spec.containers[0].commandlist, locate any line containing--enable-admission-plugins=.- If the value contains
AlwaysAdmit, remove onlyAlwaysAdmitfrom the comma‑separated list (and any now-superfluous comma). - If
AlwaysAdmitis the only value, remove the entire--enable-admission-plugins=AlwaysAdmitargument line.
- If the value contains
-
Still in the same manifest, if there is a separate
--admission-control=argument and it containsAlwaysAdmit, remove onlyAlwaysAdmitfrom that comma‑separated list, or remove the whole argument if it only containsAlwaysAdmit. -
Save the file and exit the editor. The kubelet will automatically detect the manifest change and restart the
kube-apiserverstatic pod; expect a brief control-plane disruption while it restarts. -
Wait for the new
kube-apiserverprocess to be running:(Ifcrictlis not available, usesudo docker ps | grep kube-apiserverdepending on your container runtime.) -
Verify that
AlwaysAdmitis no longer configured in the API server arguments on each control plane node:
Using kubectl
Using kubectl
kubectl cannot modify the kube-apiserver static pod manifest or its process flags, so this finding cannot be fixed via the Kubernetes API. The configuration must be changed directly on each control plane node at
/etc/kubernetes/manifests/kube-apiserver.yaml; see the Manual Steps section for how to do this.Automation
Automation

