Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Local access with CAP_BPF required (PR:L); no confidentiality or integrity impact; recursive spinlock deadlock yields high availability loss.
Primary rating from NVD.
CVSS VectorNVD
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Lifecycle Timeline
5DescriptionNVD
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
AnalysisAI
The Linux kernel's BPF sockmap subsystem deadlocks when a BPF iterator program iterating over AF_UNIX sockets via bpf_iter_unix_seq_show() simultaneously attempts to update a sockmap entry during the same execution context. When lock_sock_fast() takes the spinlock fast path and holds slock-AF_UNIX, any subsequent sock_map_update_elem() call within the BPF iterator program spins indefinitely attempting to re-acquire the same spinlock on the same CPU, causing an unrecoverable kernel deadlock and loss of system availability. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires simultaneous satisfaction of all of the following: the attacker must hold `CAP_BPF` (Linux 5.8 and later) or `CAP_SYS_ADMIN` (earlier kernels or when CAP_BPF is unavailable); the host must not have `kernel.unprivileged_bpf_disabled` set to a value that blocks BPF program loading by the attacker's privilege level; the attacker must construct a BPF program using the `bpf_iter` framework specifically targeting the AF_UNIX socket sequence (`unix_diag`); and that BPF program must invoke a sockmap update (`bpf_map_update_elem()` on a `BPF_MAP_TYPE_SOCKMAP` or `BPF_MAP_TYPE_SOCKHASH`) during iterator execution. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The vendor-assigned CVSS 3.1 score of 5.5 with vector AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H is well-calibrated: local access with low privilege, no complexity once the capability is held, and a denial-of-service outcome with no confidentiality or integrity impact. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | A local attacker holding CAP_BPF loads a crafted BPF iterator program that targets the AF_UNIX socket sequence interface and includes a `bpf_map_update_elem()` call against a pre-created sockmap. When the kernel reads the iterator output (e.g., via `/sys/fs/bpf` or a pinned iterator fd), `lock_sock_fast()` takes the spinlock fast path for a non-sleeping AF_UNIX socket, and the BPF program executes within that locked context. … |
| Remediation | The definitive fix is to upgrade to a patched kernel release: 6.1.175, 6.6.141, 6.12.91, 6.18.33, 7.0.10, or 7.1 depending on the active stable branch. … Detailed patch versions, workarounds, and compensating controls in full report. |
Threat intelligence, references, and detailed analysis are available after sign-in.
Same weakness CWE-667 – Improper Locking
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38903
GHSA-9ppp-c797-fg56