MEDIUM 5.5

CVE-2026-53035: Linux Kernel eBPF Socket Map Deadlock DoS Vulnerability

CVE-2026-53035 is a deadlock vulnerability in the Linux kernel's eBPF (Berkeley Packet Filter) subsystem, specifically within the Unix domain socket iterator and socket map components. When a BPF program iterates over Unix sockets and attempts to update a socket map during iteration, the kernel can deadlock because the same lock is acquired twice. This occurs because the iterator holds a fast-path lock on the socket, and the socket map update operation tries to acquire the same lock again, causing the system to hang. The vulnerability requires local access and elevated privileges to trigger.

Source data · NVD / CISA · public domain

CVSS
3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses (CWE)
CWE-667
Affected products
1 configuration(s)
Published / Modified
2026-06-24 / 2026-07-15

NVD description (verbatim)

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

6 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability exists in bpf_iter_unix_seq_show(), which calls lock_sock_fast() to acquire a socket lock while iterating Unix domain sockets. If the lock takes the fast path (acquiring slock-AF_UNIX directly), and the BPF program running during iteration calls sock_map_update_elem(), that function attempts to acquire bh_lock_sock() on the same socket lock. Since the lock is non-reentrant and already held, the kernel enters a deadlock state. The call stack shows the recursive lock acquisition attempt: __lock_sock_fast() → bpf_iter_run_prog() → sock_map_update_elem() → _raw_spin_lock() on the same slock-AF_UNIX. This is a classic lock ordering and reentrancy violation in the BPF iterator framework.

Business impact

An unprivileged local user with the ability to load BPF programs and execute BPF socket map operations can trigger this deadlock, causing denial of service (system hang or unresponsiveness). On systems where BPF programs are available to unprivileged users or in containerized environments, this could be exploited to crash workloads or degrade system performance. Systems using eBPF for network monitoring, socket filtering, or policy enforcement may experience unexpected service interruptions. The impact is containable to the affected process or kernel subsystem, but in shared multi-tenant environments, this could disrupt other services.

Affected systems

Linux kernel systems are affected. The vulnerability is present in the BPF subsystem's Unix socket iterator and socket map functionality. Systems running vulnerable kernel versions are susceptible if eBPF programs can be loaded and executed, particularly those with BPF capabilities enabled for local users, containers, or microservices. Check your Linux distribution's kernel version against the vendor advisory to determine if your systems are affected.

Exploitability

Exploitation requires local access and the ability to load and run eBPF programs. The CVSS score of 5.5 (Medium severity, local access, low complexity) reflects that privilege escalation is not necessary—a local user with BPF capabilities can trigger the deadlock. The vulnerability does not appear to be known to be exploited in the wild (not yet in the CISA KEV list), but the technical barrier to exploitation is low once BPF loading is permitted. Proof-of-concept code would involve crafting a BPF program that iterates Unix sockets while updating a socket map, which aligns with legitimate BPF use cases, making detection more challenging.

Remediation

The fix involves resolving the lock reentrancy issue in the BPF iterator framework. This typically requires modifying the locking strategy in bpf_iter_unix_seq_show() and sock_map_update_elem() to prevent recursive lock acquisition—either by using reentrant locks, relaxing lock requirements during iteration, or refactoring the call sequence to hold locks at the appropriate scope. Organizations should apply kernel updates from their Linux distribution that include the fix for CVE-2026-53035.

Patch guidance

Contact your Linux distribution (Red Hat, Ubuntu, Debian, etc.) for patched kernel versions. Vendors will backport the fix to stable kernel branches. Apply kernel updates through your standard patch management process. Test patches in a non-production environment first, especially given the low-level nature of lock handling changes. Verify the specific kernel version and build includes the fix referenced in the distribution's advisory.

Detection guidance

Monitor kernel logs for deadlock warnings and recursive locking detection messages (kernel warning: possible recursive locking detected on slock-AF_UNIX). Track BPF program load events and socket map update operations in audit logs. Performance monitoring may show sudden system hangs or CPU stalls that correlate with eBPF workload activity. In environments where BPF is actively used, correlate process-level hangs with eBPF program execution timelines.

Why prioritize this

Prioritize this vulnerability for systems where local users can load eBPF programs or where eBPF is used for network security and monitoring. The Medium CVSS score and local-only attack vector mean this is lower risk than remote exploits, but kernel deadlocks can degrade availability. Patch sooner if you run eBPF-dependent services (container runtimes, network policies, observability agents) or grant BPF capabilities to untrusted local code.

Risk score, explained

The CVSS 3.1 score of 5.5 is driven by high availability impact (A:H, the deadlock causes denial of service), local attack vector (AV:L, requiring system access), and low complexity (AC:L, standard BPF operations). Confidentiality and integrity are unaffected (C:N, I:N). The score is suppressed from higher severity due to the privilege requirement—an attacker needs local presence and BPF capability. The vulnerability is not yet in active exploitation (KEV: false), which further justifies Medium severity rather than High.

Frequently asked questions

Does this vulnerability allow remote code execution or privilege escalation?

No. CVE-2026-53035 is a denial-of-service vulnerability triggered by a deadlock. It does not enable privilege escalation or code execution beyond the privileges of the user loading the BPF program. The impact is system hang or unresponsiveness, not unauthorized access.

Can this be exploited without BPF capabilities?

No. The vulnerability requires the ability to load and execute eBPF programs and specifically to update a socket map. Systems where eBPF loading is restricted to root or specific trusted roles have reduced attack surface. Standard unprivileged users on systems without BPF capability cannot trigger this.

How quickly should we patch this?

Given the Medium severity and local-only attack vector, patch within your normal monthly or quarterly cycle, prioritizing systems that actively use eBPF or grant BPF capabilities to containers and microservices. Systems where eBPF is unavailable to local users are lower priority.

Are there workarounds until patching?

Restrict BPF program loading to root or trusted roles using securityfs and apparmor/selinux policies. Disable eBPF functionality entirely if not required. These are not substitutes for patching but can reduce exposure while updates are pending.

This analysis is based on publicly available vulnerability data current as of the publication date. Patch availability, affected versions, and distribution timelines should be verified against official vendor advisories and security bulletins from your Linux distribution. Implement patches in a controlled environment and validate functionality before production deployment. Organizations should conduct their own risk assessment based on their specific BPF usage, privilege model, and operational requirements. SEC.co provides this information for informational purposes and does not warrant completeness or accuracy in all deployments. Source: NVD (public-domain), retrieved 2026-07-31. Analysis generated by SEC.co (claude-haiku-4-5).