Skip to main content

More Info:

Disable profiling, if not needed.

Risk Level

Medium

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every control plane node, back up the existing static pod manifest for the API server:
  1. Edit the API server manifest to add or update the --profiling argument:
In the command: or args: list for kube-apiserver, ensure there is an entry:
Remove or change any existing --profiling=true to --profiling=false.
  1. Save the file and exit the editor. The kubelet will detect the manifest change and automatically restart the kube-apiserver static pod on that control plane node. Expect a brief control-plane disruption during the restart.
  2. After 30–60 seconds, verify on that control plane node that the process is running with --profiling=false:
  1. In the command line output for kube-apiserver, confirm that --profiling=false is present and that there is no --profiling=true flag.
  2. Repeat steps 1–5 on every control plane node.
kubectl cannot change the --profiling flag because it is set in the static pod manifest on each control plane node, specifically in /etc/kubernetes/manifests/kube-apiserver.yaml. To remediate this finding, follow the guidance in the Manual Steps section and edit the file directly on every control plane node.

Additional Reading: