CVE-2026-31431: Copy Fail vs. rootless containers
Immediate Mitigations for CVE-2026-31431
- Common workaround: prevent loading the vulnerable
algif_aeadmodule so it can’t be used while kernels are being patched. - For modular builds: add a modprobe rule that maps
algif_aeadto/bin/false. - For kernels where
algif_aeadis built-in: disable viainitcall_blacklist=algif_aead_initon the kernel command line, which itself requires certain kernel config options. - Several commenters report that
algif_aeadis rarely loaded in practice and disabling it has caused no noticeable breakage so far, though edge cases are acknowledged.
Rootless Containers, Namespaces, and the Exploit
- In rootless containers, the exploit can gain uid 0 inside the container, but this maps to an unprivileged uid on the host.
- Some argue this “breaks” only the proof-of-concept, not the underlying primitive: page-cache writes still occur.
- There is debate whether rootless containers “mitigate” the kernel bug or merely make this particular setuid-based escalation path ineffective.
- Use of
allowPrivilegeEscalation=Falseand user namespaces (--userns=auto) is suggested to reduce impact of container breakouts, but several note that the copy-fail primitive itself is namespace-agnostic.
Page Cache Corruption & Cross-Container Impact
- Key concern: page cache is shared across containers and host when they share inodes (e.g., layered images, shared mounts).
- A compromised container could corrupt binaries or libraries used by other containers or the host, especially if read-only mounts or shared base images are involved.
- This can undermine multi-tenant isolation and turn read-only resources into writable attack surfaces.
Containers vs VMs as Security Boundaries
- Some insist containers were never meant as strong security boundaries and see this CVE as a reason to favor microVMs or gVisor for hostile workloads.
- Others argue containers still provide meaningful isolation on a continuum, just less than VMs.
- There is disagreement on the repeated claim that “containers are not a security boundary”; some say that in practice they are treated as one, albeit a weaker one.
Seccomp, AF_ALG, and Kernel Crypto
- Many advocate blocking AF_ALG-related syscalls in container seccomp profiles, especially given AF_ALG’s history of vulnerabilities and limited real-world use.
- Others question disabling a kernel crypto interface globally over “one” or “a few” bugs, but counterpoints emphasize that it offers little benefit without special hardware.
- Kernel crypto in general is defended as necessary for things like disk and network encryption, but AF_ALG in particular is criticized as overexposed and arguably unnecessary for unprivileged userspace.
Hardening Strategies Beyond This CVE
- Suggestions include:
- Applying strict seccomp profiles tailored per workload.
- Using capability bounding sets and
NoNewPrivilegesin systemd units. - Running high-risk workloads in VMs or microVMs, possibly with containers inside.
- There is acknowledgment that “default deny” syscall policies are hard because few teams know the full syscall/argument needs of their containers.
Critiques of the Article and POC Framing
- Some readers find the article’s style “LLM-like” and object to what they see as a misleading premise that rootless containers “stop” the exploit.
- Others defend it as an illustration of defense-in-depth: blocking an easy escalation path (setuid root on host) is still valuable, even if the primitive remains exploitable in other ways.
- Several emphasize that the article does not prove container escape is impossible, only that this particular POC path fails under rootless setups; broader exploitability is viewed as unresolved but plausible.