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 usingseccomp: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
SecurityOptvalue 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.
