Check provider logo

Pod has the docker/default (RuntimeDefault) seccomp profile at pod level or for all containers

core_seccomp_profile_docker_default

Severityhigh
Servicecore
by Prowler

Kubernetes Pods and their containers specify the runtime default seccomp profile using seccompProfile.type: RuntimeDefault in the security context.

The evaluation looks for this setting at the Pod level or per container.

Risk

Without seccomp RuntimeDefault, containers may run unconfined and invoke risky syscalls, expanding the kernel attack surface.

  • Container escape, privilege escalation (integrity)
  • Data access or exfiltration (confidentiality)
  • Node or workload disruption (availability)
Run this check with Prowler CLI

prowler kubernetes --checks core_seccomp_profile_docker_default

Recommendation

Enforce least privilege for syscalls:

  • Set seccompProfile.type: RuntimeDefault on Pods/containers
  • Use tailored profiles for sensitive workloads
  • Avoid privileged or unconfined containers; drop unused capabilities
  • Combine with AppArmor/SELinux and policy guardrails to enforce and audit

Remediation

CLI

kubectl patch deployment <example_resource_name> --type=merge -p '{"spec":{"template":{"spec":{"securityContext":{"seccompProfile":{"type":"RuntimeDefault"}}}}}}'

Terraform
Other
  1. Open the manifest of your workload (Deployment/StatefulSet/Pod)

  2. Under the Pod spec, add:

    spec: securityContext: seccompProfile: type: RuntimeDefault

    • For controllers (e.g., Deployment), place this under spec.template.spec
  3. Apply the change: kubectl apply -f <your_manifest.yaml>

  4. Wait for pods to restart and confirm the setting on new pods

Source Code

Resource Type

Pod

References