Skip to main content

More Info:

Enabling seccompDefault applies the RuntimeDefault seccomp profile to all workloads that do not specify one. This reduces the syscall attack surface available to containers by default.

Risk Level

Medium

Address

Security

Compliance Standards

  • CIS Kubernetes

Triage and Remediation

Remediation

Manual Steps

  1. On every worker node, back up the current kubelet configuration file:
  2. On every worker node, edit /var/lib/kubelet/config.yaml to enable the default seccomp profile. If the seccompDefault field exists, set it to true; if not, add it under apiVersion/kind/... at the top level of the KubeletConfiguration:
    Then open the file and confirm indentation and YAML validity:
    Ensure there is a line like:
  3. On every worker node, ensure the kubelet is using the config file (adjust if your systemd unit differs). Inspect the kubelet systemd unit:
    Confirm either --config=/var/lib/kubelet/config.yaml is present in ExecStart, or add it by editing the drop-in or unit file per your distribution’s guidance.
  4. On every worker node, restart the kubelet to apply the change (this will disrupt pods on that node while they are rescheduled):
  5. On every worker node, verify the kubelet process is running and pick out the node’s kubelet PID:
  6. On every worker node, confirm that seccompDefault is now set to true in the active configuration by checking the live config file and ensuring the kubelet process is healthy:
kubectl cannot be used to enable seccompDefault for the kubelet because this setting is controlled entirely by host-level kubelet configuration and flags on every worker node (for example in /var/lib/kubelet/config.yaml or the kubelet systemd unit). To remediate this finding, follow the guidance in the Manual Steps section on each worker node.