CVE-2026-53035
NoneCVSS
—
EPSS
0.1%
Published
Jun 24, 2026
CISA due date
—
Cloudanix analysis
A local user or workload with advanced kernel-programming permissions could make a Linux system hang until it is patched or rebooted.
- Exploitation
- Local Privilege
- Attacker needs
- High Privilege
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
This Linux kernel flaw is a local denial-of-service condition in the eBPF sockmap and AF_UNIX iterator path. When an eBPF iterator program walks UNIX-domain sockets and attempts to update a sockmap, the kernel can recursively acquire the same AF_UNIX socket spinlock through bpf_iter_unix_seq_show(), lock_sock_fast(), and sock_map_update_elem(). The result is a kernel deadlock or lockup condition rather than code execution or privilege escalation. Practical exploitation requires the ability to load and run relevant eBPF programs and interact with sockmaps, which is typically restricted to privileged users or systems where unprivileged eBPF is enabled.
Why it matters to the business
Successful exploitation can freeze affected kernel execution paths, degrade host responsiveness, or force a reboot, causing workload interruption and potential service downtime. The risk is highest on multi-tenant Linux hosts, container platforms, CI systems, developer machines, or performance/observability environments where users or services can load eBPF programs. This issue is not currently listed in CISA KEV, is not known to be used in ransomware campaigns, has no reported public exploit maturity, and has a very low EPSS score, so remediation should be handled through normal kernel patch management unless eBPF is broadly available to untrusted users.
How an attack unfolds
An attacker first needs local execution on an affected Linux system and sufficient permission to create or load eBPF programs that use BPF iterators and sockmaps. The attacker prepares an eBPF iterator program that enumerates AF_UNIX sockets and, during the iterator callback, performs a sockmap update against a socket already locked by the iterator path. When the program is triggered through the BPF sequence file read path, the kernel takes the fast socket-locking path, then attempts to take the same AF_UNIX socket lock again inside sock_map_update_elem(). This recursive lock acquisition can deadlock the kernel path, leading to a denial of service. Because the condition depends on eBPF capabilities and kernel locking behavior, exploitation is local and configuration-dependent.
How to fix it
Upgrade to a Linux kernel version that includes the upstream fix for the eBPF sockmap AF_UNIX iterator deadlock. If distribution-specific fixed kernel versions are not yet identified, track the relevant vendor security advisory and install the latest stable or long-term-support kernel update containing the fix. Reboot systems after applying the patched kernel so the running kernel is actually updated. As interim risk reduction, disable unprivileged eBPF where possible by setting kernel.unprivileged_bpf_disabled=1, restrict CAP_BPF, CAP_SYS_ADMIN, and CAP_NET_ADMIN to trusted workloads only, prevent untrusted containers from using privileged mode or BPF-related capabilities, and limit access to BPF filesystem and tracing interfaces. These mitigations reduce exploitability but do not replace applying the fixed kernel.
How to confirm the fix worked
Confirm the running kernel has been updated, not just that a package is installed. Check the active kernel with uname -a or equivalent fleet inventory and compare it against the distribution advisory that contains the fix. Verify unprivileged BPF is disabled where required by checking /proc/sys/kernel/unprivileged_bpf_disabled or sysctl kernel.unprivileged_bpf_disabled. Review container and service profiles to ensure untrusted workloads do not have CAP_BPF, CAP_SYS_ADMIN, CAP_NET_ADMIN, privileged container mode, or broad access to /sys/fs/bpf. After patching and rebooting, monitor kernel logs for absence of recursive-locking warnings involving AF_UNIX, sock_map_update_elem(), bpf_iter_unix_seq_show(), and bpf_seq_read.
Typical attack path
- Gain local code execution on an affected Linux host, container host, or developer/CI system.
- Confirm that eBPF program loading is permitted, either through elevated privileges such as CAP_BPF/CAP_SYS_ADMIN or through permissive unprivileged BPF settings.
- Create AF_UNIX sockets and a sockmap suitable for triggering the vulnerable path.
- Load an eBPF iterator program that enumerates UNIX-domain sockets and attempts to update the sockmap during iteration.
- Trigger the iterator read path so bpf_iter_unix_seq_show() runs the program while the socket lock is already held.
- Cause recursive acquisition of the AF_UNIX socket lock in sock_map_update_elem(), producing a deadlock or kernel lockup.
- Repeat or sustain the trigger to cause host-level service degradation or denial of service.
How to detect it
Look for evidence of kernel deadlock warnings and suspicious eBPF activity before or during service degradation. Primary log sources include dmesg, journald, /var/log/kern.log, /var/log/messages, /var/log/syslog, auditd, endpoint telemetry, and container runtime logs. Search for kernel warnings containing "possible recursive locking detected", "DEADLOCK", "slock-AF_UNIX", "sock_map_update_elem", "bpf_iter_unix_seq_show", or "bpf_seq_read". Correlate timestamps with process execution, container starts, CI jobs, bpftool activity, BPF program loads, changes under /sys/fs/bpf, and grants of CAP_BPF, CAP_SYS_ADMIN, or CAP_NET_ADMIN. In audit logs, review bpf-related syscalls and processes opening or pinning BPF objects. Affected exploitation is unlikely to leave network IOCs; host telemetry and kernel logs are the most useful evidence sources.
- WARNING: possible recursive locking detected
- *** DEADLOCK ***
- slock-AF_UNIX
- sk_lock-AF_UNIX
- sock_map_update_elem
- bpf_iter_unix_seq_show
- bpf_iter_run_prog
- bpf_seq_read
- __lock_sock_fast
- lock_sock_fast
- bpf_prog_2d0075e5d9b721cd_dump_unix
- /sys/fs/bpf
- kernel.unprivileged_bpf_disabled
- CAP_BPF
- CAP_SYS_ADMIN
- CAP_NET_ADMIN
What your security team should do
- Prioritize patching Linux systems that allow local users, CI jobs, containers, observability agents, or developer workloads to load eBPF programs.
- Apply vendor-provided fixed kernel updates and reboot affected hosts to ensure the patched kernel is running.
- Disable unprivileged eBPF unless there is a documented business requirement for it.
- Audit and minimize assignment of CAP_BPF, CAP_SYS_ADMIN, CAP_NET_ADMIN, privileged container mode, and access to /sys/fs/bpf.
- Review endpoint, audit, and container telemetry for unexpected BPF program loading or sockmap activity by non-platform processes.
- Add kernel-log detections for recursive locking or deadlock warnings involving AF_UNIX socket locks and BPF sockmap functions.
- Treat exploitation as a local denial-of-service scenario; focus response on identifying the initiating local process, container, job, or user rather than remote network indicators.
- Because this is not KEV-listed, not known ransomware-used, and has low EPSS, handle through normal but timely kernel maintenance unless the environment exposes eBPF to untrusted users.
The record
In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Fix af_unix iter deadlock bpf_iter_unix_seq_show() may deadlock when lock_sock_fast() takes the fast path and the iter prog attempts to update a sockmap. Which ends up spinning at sock_map_update_elem()'s bh_lock_sock(): WARNING: possible recursive locking detected test_progs/1393 is trying to acquire lock: ffff88811ec25f58 (slock-AF_UNIX){+...}-{3:3}, at: sock_map_update_elem+0xdb/0x1f0 but task is already holding lock: ffff88811ec25f58 (slock-AF_UNIX){+...}-{3:3}, at: __lock_sock_fast+0x37/0xe0 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(slock-AF_UNIX); lock(slock-AF_UNIX); *** DEADLOCK *** May be due to missing lock nesting notation 4 locks held by test_progs/1393: #0: ffff88814b59c790 (&p->lock){+.+.}-{4:4}, at: bpf_seq_read+0x59/0x10d0 #1: ffff88811ec25fd8 (sk_lock-AF_UNIX){+.+.}-{0:0}, at: bpf_seq_read+0x42c/0x10d0 #2: ffff88811ec25f58 (slock-AF_UNIX){+...}-{3:3}, at: __lock_sock_fast+0x37/0xe0 #3: ffffffff85a6a7c0 (rcu_read_lock){....}-{1:3}, at: bpf_iter_run_prog+0x51d/0xb00 Call Trace: dump_stack_lvl+0x5d/0x80 print_deadlock_bug.cold+0xc0/0xce __lock_acquire+0x130f/0x2590 lock_acquire+0x14e/0x2b0 _raw_spin_lock+0x30/0x40 sock_map_update_elem+0xdb/0x1f0 bpf_prog_2d0075e5d9b721cd_dump_unix+0x55/0x4f4 bpf_iter_run_prog+0x5b9/0xb00 bpf_iter_unix_seq_show+0x1f7/0x2e0 bpf_seq_read+0x42c/0x10d0 vfs_read+0x171/0xb20 ksys_read+0xff/0x200 do_syscall_64+0x6b/0x3a0 entry_SYSCALL_64_after_hwframe+0x76/0x7e
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|