Skip to main content

Impact & Risk Analysis

  • Severity: Medium
  • CIS Benchmark: CIS 5.22
  • Impact: Increased Kernel Attack Surface. Seccomp (Secure Computing Mode) restricts the system calls a process can make to the Linux kernel. A large number of system calls are exposed to every userland process, but most applications only need a small subset. Disabling the default seccomp profile exposes the container to all available kernel syscalls, significantly increasing the risk if the application is compromised.

Common Misconfiguration

Explicitly disabling the default seccomp profile using seccomp:unconfined. This is often done to debug “permission denied” errors when an application tries to make a blocked system call, but it removes a critical layer of defense.

Vulnerable Example

Secure Example

Audit Procedure

Run the command below to inspect the security options of all containers:
  • Result: Check the SecurityOpt value for each container.
  • Fail: If it returns [seccomp:unconfined].
  • Pass: If it returns null, [], or a specific profile path (e.g., [name=seccomp,profile=default]), it means a profile is active.

Remediation

By default, seccomp profiles are enabled. You do not need to do anything unless you have explicitly disabled it. Ensure that you do not pass --security-opt=seccomp:unconfined on docker run or include it in your docker-compose.yml. If your application requires a specific system call that is blocked by default, do not disable seccomp entirely. Instead, create a custom JSON profile that whitelists only the specific syscalls you need.