Compose service runs unconfined (seccomp or AppArmor disabled)

ID

compose_unconfined_security_opt

Severity

high

Remediation Complexity

trivial

Remediation Risk

medium

Remediation Effort

low

Vendor

Docker

Resource

General Security

Tags

ASVS50:v13.1.1, reachable

Description

A Docker Compose service turns off one of the kernel confinement profiles through security_opt. seccomp:unconfined removes the syscall filter that blocks most of the kernel’s attack surface from the container, and apparmor:unconfined removes the mandatory access control profile. Both are usually switched off to make one syscall work, and both give up the confinement for every other call as well.

Examples

Reported:

services:
  toolchain:
    image: example/toolchain:1.2.3
    security_opt:
      - seccomp:unconfined
      - apparmor=unconfined

Mitigation / Fix

Keep the default profile, or supply a profile that permits exactly what the service needs:

services:
  toolchain:
    image: example/toolchain:1.2.3
    security_opt:
      - seccomp:./seccomp-profile.json
      - no-new-privileges:true

© 2026 Xygeni. All rights reserved