]> git.ipfire.org Git - thirdparty/systemd.git/commit
nspawn: Add --restrict-address-families= option
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 22 Dec 2025 10:22:34 +0000 (11:22 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 13 Apr 2026 09:14:11 +0000 (11:14 +0200)
commit4bbdc8a6a2eaca3b717810bbae0265eb375ab68c
tree9a02886da931783595212cc3ebb679f5ca503020
parent4c9ce728e788be00749a8718ff24c56c01ddb4ca
nspawn: Add --restrict-address-families= option

Add a new --restrict-address-families= command line option and
corresponding RestrictAddressFamilies= setting for .nspawn files to
restrict which socket address families may be used inside a container.

Many address families such as AF_VSOCK and AF_NETLINK are not
network-namespaced, so restricting access to them in containers
improves isolation. The option supports allowlist and denylist modes
(via ~ prefix), as well as "none" to block all families, matching the
semantics of RestrictAddressFamilies= in unit files.

The address family parsing logic is extracted into a shared
parse_address_families() helper in parse-helpers.c, which is now also
used by config_parse_address_families() in load-fragment.c.

This is currently opt-in. In a future version, the default will be
changed to restrict address families to AF_INET, AF_INET6 and AF_UNIX.
14 files changed:
NEWS
man/systemd-nspawn.xml
man/systemd.nspawn.xml
shell-completion/bash/systemd-nspawn
shell-completion/zsh/_systemd-nspawn
src/core/load-fragment.c
src/nspawn/nspawn-gperf.gperf
src/nspawn/nspawn-seccomp.c
src/nspawn/nspawn-seccomp.h
src/nspawn/nspawn-settings.c
src/nspawn/nspawn-settings.h
src/nspawn/nspawn.c
src/shared/parse-helpers.c
src/shared/parse-helpers.h