Canonical snapd contains a flaw in its base AppArmor security profile configuration. Rules in the /etc/apparmor.d/abstractions/nss-systemd abstraction inadvertently allow strictly confined snap applications to access the io.systemd.Multiplexer and io.systemd.NameServiceSwitch UNIX domain sockets under /run/systemd/userdb/, even though those applications lack the privileged account-control interface.
The main precondition is a compromised or malicious snap that can execute code as root, such as code running in a daemon or configuration hook. When systemd-userdbd is installed and operational, the service does not distinguish between an unconfined root user on the host and a restricted root user inside the snap sandbox. A root process in the snap can therefore query the Varlink interface and receive complete user records, including password hashes from /etc/shadow.
The confirmed effect is a bypass of the intended AppArmor boundary that exposes sensitive data from the host's user database service. The record does not specify the exact rule change or internal implementation detail used to correct the behavior, so additional implementation details should not be inferred.