Security Digest · Sep 22, 2026 · Vulnerability · OS / kernel
Linux AF_UNIX CVE-2026-80521: Public Container Escape
Kernel use-after-free in AF_UNIX garbage collection; public exploit escapes default containers. Fixed in 6.12.111, 6.18.53, 7.1.10; Ubuntu fixes pending.
Our verdict
Patch this week
If you run untrusted or third-party code in containers on a 6.10+ kernel, install fixed kernels as they ship and move that code behind stronger isolation now; a public exploit turns an unprivileged container process into a host compromise.
Who must act: Operators of CI runners, multi-tenant Kubernetes clusters, code-execution sandboxes and shared container hosts on Linux 6.10 or later, or on 6.1/6.6 kernels that carry the new AF_UNIX garbage collector.
Who can relax: Hosts that only run code you already trust can patch on a normal cycle; kernels without the new garbage collector (for example Debian 11, RHEL 6-9 and Ubuntu 22.04's default 5.15 kernel) need nothing.
- Affected
- Linux 6.10 and later before the fixed stable releases
Linux 6.1.141 through 6.1.188
Linux 6.6.93 through 6.6.157
Linux 6.12 before 6.12.111
Linux 6.18 before 6.18.53
Linux 7.1 before 7.1.10
Ubuntu 26.04 LTS and 24.04 LTS kernels (fixes in progress as of Oct 21, 2026) - Fixed in
- Linux 6.1.189
Linux 6.6.158
Linux 6.12.111
Linux 6.18.53
Linux 7.1.10
Linux 7.2
Debian 13 linux (DSA-6528-1)
Debian 12 linux 6.1.190-1 (DLA-4841-1)
RHEL 10 kernel 6.12.0-211.65.1.el10_2 (RHSA-2026:81406) - CVSS
- 7.8 (v3.1, CNA)
- EPSS
- 0.2% (percentile 6)
- CISA KEV
- Not listed
- Exploitation
- Public proof-of-concept
- Severity
- High
What to do
- List container hosts and node kernels (uname -r on each node, or kubectl get nodes -o wide) and flag any that run untrusted code.
- Install your distribution's fixed kernel as soon as it ships and reboot or livepatch; on Debian 13 and 12 the fixes are already available.
- Until Ubuntu 24.04/26.04 fixes land, move untrusted workloads (CI jobs, code runners, tenant pods) to gVisor, Kata Containers or Firecracker, or to a node pool on an unaffected kernel.
- Do not rely on default seccomp, rootless mode, user namespaces or dropped capabilities as mitigations; the vulnerable code is reachable without privileges.
- Subscribe to your distribution's tracker entry for CVE-2026-80521 and re-check after each kernel update.
How to check if you are affected or compromised
- Check whether a kernel has the new AF_UNIX garbage collector: grep -cE ' unix_(add|del)_edges$' /proc/kallsyms (0 means the vulnerable code is absent).
- Compare installed kernels with your vendor tracker (dpkg -l 'linux-image*' or rpm -q kernel), because distro kernels backport fixes without changing upstream version numbers.
- Look for kernel oopses or KASAN reports mentioning unix_gc, unix_walk_scc_fast or slab-use-after-free in dmesg or node logs.
- On hosts that ran untrusted containers while unpatched, hunt for unexpected host processes, new SUID files and changes to container runtime binaries.
What happened#
CVE-2026-80521 is a use-after-free in the Linux kernel's AF_UNIX socket garbage collector. That code cleans up sockets left in reference cycles when file descriptors are passed over UNIX sockets with SCM_RIGHTS. According to the CVE record, a send() that races a concurrent close() can make the collector free a dead group of sockets only partly. A later collector run then walks a freed structure. The one-line upstream fix, "af_unix: Unlink scc_entry in unix_del_edge()", credits Kyle Zeng of OpenAI as the reporter. The kernel CNA published the CVE on August 26, 2026 and scores it CVSS 3.1 7.8.
The bug drew wide attention on September 22. That day depthfirst published research by Zhenpeng (Leo) Lin showing a working container escape on Ubuntu 26.04, with exploit code in a public GitHub repository. depthfirst says it found the bug with its in-house AI model, used it in Google's kernelCTF on July 24, and reported it to the kernel security team on August 5. The team replied that the same bug had already been reported. The upstream patch followed on August 6.
Who is affected#
The vulnerable code arrived with a rewrite of the AF_UNIX garbage collector in Linux 6.10 and was backported into 6.1.141+ and 6.6.93+. The CVE record lists fixes in 6.1.189, 6.6.158, 6.12.111, 6.18.53, 7.1.10 and 7.2. Distro kernels backport heavily, so the vendor tracker is what counts, not the version string:
- Ubuntu: the Ubuntu tracker (updated October 19) rates it Medium. It lists 26.04 LTS kernels and most 24.04 LTS kernels, including the 6.8 GA kernel, as fixes in progress or still vulnerable, and 22.04's 6.8 HWE kernels as in progress.
- Debian: the Debian tracker shows Debian 13 fixed via DSA-6528-1 and Debian 12 fixed in 6.1.190-1 (DLA-4841-1). Debian 11 is not affected.
- Red Hat: Red Hat's security data rates it Important, lists RHEL 6 through 9 as not affected, and shows RHEL 10 fixed in kernel 6.12.0-211.65.1.el10_2 (RHSA-2026:81406), with RHEL 10.0 EUS fixed via RHSA-2026:77634. The Red Hat CVE page lists no mitigation.
Do you really need to act?#
It depends on whose code runs in your containers. This is a local bug. An attacker first needs to run code on the machine, but any unprivileged process can reach it, including one inside a container. The DevOps Daily analysis notes that default seccomp profiles allow the needed system calls. Rootless containers, user namespaces and dropped capabilities do not help either. That makes the bug serious for CI runners that build untrusted pull requests, multi-tenant clusters, hosted notebooks and "run my code" features, where running code is the whole point.
If every container on a host runs code you wrote and trust, this is a privilege-escalation step an attacker could use after some other compromise. Patch it on a normal but prompt schedule. No exploitation in the wild had been reported as of October 21, 2026, and the CVE is not in CISA KEV. With public exploit code available, expect that to change.
What to do now#
- Inventory kernels on container hosts: run
uname -ron each host, orkubectl get nodes -o wideto see node kernels. - Install fixed kernels where they exist (
apt-get update && apt-get install --only-upgrade 'linux-image*'on Debian) and reboot or livepatch. A kernel fix does nothing until the new kernel is running. - On Ubuntu 24.04 and 26.04, watch the tracker. Meanwhile, move untrusted workloads to gVisor, Kata Containers or Firecracker microVMs, or to a node pool on an unaffected kernel.
- Do not block AF_UNIX wholesale with seccomp. DevOps Daily notes this breaks many applications.
How to tell if you were hit#
To see whether a kernel carries the affected collector, run grep -cE ' unix_(add|del)_edges$' /proc/kallsyms. A result of 0 means the vulnerable code is not present, and the check often works inside a container too. Search dmesg and node logs for oopses or KASAN reports naming unix_gc, unix_walk_scc_fast or a slab use-after-free. Failed exploit attempts can crash hosts. On hosts that ran untrusted containers while unpatched, look for unexpected host-level processes, new SUID binaries and modified runtime binaries. Rotate any secrets the host could read.
Timeline#
- — depthfirst exploits the bug against Google's kernelCTF target.
- — depthfirst reports to security@kernel.org and learns the bug was already reported.
- — Upstream fix released, according to depthfirst.
- — The kernel CNA publishes CVE-2026-80521.
- — depthfirst publishes its container-escape research and exploit code.
- — The CVE record is updated with 6.1.189 and 6.6.158 fixes.
- — Ubuntu's tracker still shows 24.04 and 26.04 kernel fixes in progress.
Vulnerability records
- CVE-2026-80521 · In the Linux kernel, the following vulnerability has been resolved: af_unix: Unlink scc_entry in unix_del_edge().
Sources
Original sources first: vendor and project advisories, CVE and government records, the discoverers’ write-ups. Every claim above links to one of these. See how the Security Desk works.
Original and primary sources
- CVE record — CVE-2026-80521 cve.org
- Linux stable — af_unix: Unlink scc_entry in unix_del_edge() git.kernel.org
- Ubuntu — CVE-2026-80521 ubuntu.com
- Debian security tracker — CVE-2026-80521 security-tracker.debian.org
- Red Hat — CVE-2026-80521 access.redhat.com
- Red Hat Security Data API — CVE-2026-80521 access.redhat.com
- depthfirst — Containers Are No Longer a Security Boundary depthfirst.com
- GitHub — Markakd/Container_escape (proof of concept) github.com
- DevOps Daily — CVE-2026-80521: The Ubuntu container escape is not just an Ubuntu problem devops-daily.com