TMAegis
More rules for lxd

TMA-LXD-INSTANCE-NESTING

Ensure LXD instances do not enable container nesting

MediumLevel 2Automatedlxd

Description

security.nesting=true exposes /proc and /sys more widely and relaxes AppArmor so containers can run their own container runtimes, enlarging the escape surface. The audit loops over instances from "lxc list --format csv -c n" (default project) and fails if any expanded configuration sets security.nesting to a truthy value. Hosts that deliberately run Docker-in-LXD should document the exception.

How it is checked

Audit method: Shell command

shell
lxc info >/dev/null 2>&1 || exit 1
names=$(lxc list --format csv -c n 2>/dev/null) || exit 1
bad=0
for n in $names; do
  cfg=$(lxc config show --expanded "$n" 2>/dev/null) || exit 1
  if printf '%s\n' "$cfg" | grep -Eiq '^[[:space:]]*security\.nesting:[[:space:]]*"?(true|1|yes|on)"?[[:space:]]*$'; then echo "nesting: $n"; bad=1; fi
done
[ "$bad" -eq 0 ] && echo compliant
Expected output
compliant

How it is fixed

Fix method: Guidance or infrastructure patch

lxc config unset <instance> security.nesting (or remove it from the profile), then restart the instance. Move workloads that need nested containers to a VM instance (lxc launch --vm).

Properties

Operating systems
Any
Tags
lxdcontainersisolation
Reference
CIS-style LXD hardening guidance - Container nesting (no CIS benchmark section; verify against your hardening standard)

Check this host

Run this on a machine you are allowed to audit. The scan is read-only.

shell
tmaegis scan --target lxd --level 2