CVE-2026-53083: Linux Kernel BPF RCU Stall DoS Vulnerability
A flaw in the Linux kernel's BPF (Berkeley Packet Filter) subsystem can cause the system to become unresponsive when clearing certain types of maps with many entries. The issue occurs in the cleanup routine that removes file descriptors from PROG_ARRAY maps—a core data structure used by the kernel's in-kernel virtual machine. When processing large maps, the cleanup loop does not yield control back to the scheduler, starving the kernel's RCU (Read-Copy-Update) synchronization mechanism and triggering watchdog warnings. This is a local denial-of-service condition that requires authenticated access 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)
- —
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-24 / 2026-07-23
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: bpf: Fix RCU stall in bpf_fd_array_map_clear() Add a missing cond_resched() in bpf_fd_array_map_clear() loop. For PROG_ARRAY maps with many entries this loop calls prog_array_map_poke_run() per entry which can be expensive, and without yielding this can cause RCU stalls under load: rcu: Stack dump where RCU GP kthread last ran: CPU: 0 UID: 0 PID: 30932 Comm: kworker/0:2 Not tainted 6.14.0-13195-g967e8def1100 #2 PREEMPT(undef) Workqueue: events prog_array_map_clear_deferred RIP: 0010:write_comp_data+0x38/0x90 kernel/kcov.c:246 Call Trace: <TASK> prog_array_map_poke_run+0x77/0x380 kernel/bpf/arraymap.c:1096 __fd_array_map_delete_elem+0x197/0x310 kernel/bpf/arraymap.c:925 bpf_fd_array_map_clear kernel/bpf/arraymap.c:1000 [inline] prog_array_map_clear_deferred+0x119/0x1b0 kernel/bpf/arraymap.c:1141 process_one_work+0x898/0x19d0 kernel/workqueue.c:3238 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x770/0x10b0 kernel/workqueue.c:3400 kthread+0x465/0x880 kernel/kthread.c:464 ret_from_fork+0x4d/0x80 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x19/0x30 arch/x86/entry/entry_64.S:245 </TASK>
5 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-53083 addresses a missing cond_resched() call in bpf_fd_array_map_clear() within the kernel's BPF array map implementation. The vulnerability manifests when clearing PROG_ARRAY maps containing many entries. The cleanup path invokes prog_array_map_poke_run() for each entry, an expensive operation that updates BPF program jump tables. Without scheduler preemption points, this loop can run uninterruptibly long enough to trigger RCU stalls—a kernel liveness condition where the RCU state machine becomes blocked, generating stack dumps and potentially causing system instability. The fix is a single cond_resched() insertion to allow the kernel to check for pending work and yield if necessary.
Business impact
This vulnerability poses a localized denial-of-service risk to systems running untrusted BPF programs or exposing BPF syscalls to unprivileged users. Organizations leveraging BPF for container runtimes, network packet filtering, or observability tooling may face unexpected system hangs during cleanup operations. The impact is limited to availability (no data corruption or privilege escalation path disclosed), but affected services could require forceful restart, disrupting dependent workloads.
Affected systems
The Linux kernel is affected, with the vulnerability present in the BPF subsystem's array map handling code. Impact scope depends on kernel configuration: systems with CONFIG_BPF enabled are susceptible if BPF syscalls are exposed to non-root users (common in containerized and modern userspace-driven networking scenarios). Embedded systems, data centers running Kubernetes, and edge platforms using eBPF-based monitoring or networking are typical deployment contexts.
Exploitability
Exploitation requires local access and the ability to invoke BPF syscalls—typically available to unprivileged users on modern distributions, though some hardened configurations restrict this. No remote attack vector exists. An attacker would need to create or manipulate a PROG_ARRAY map with a large number of entries and trigger its deletion, causing the kernel to stall. The complexity is low once BPF access is available, making this a practical concern in multi-tenant or hostile-user scenarios.
Remediation
Apply the upstream kernel patch that adds cond_resched() to the bpf_fd_array_map_clear() function in kernel/bpf/arraymap.c. This allows the scheduler to preempt the cleanup loop and prevents RCU stalls. Verify the patch against your vendor's advisory, as backport details may vary. Interim mitigation: restrict BPF syscall access via LSM policies or seccomp on systems where unprivileged BPF use is not required.
Patch guidance
Patch availability depends on your Linux distribution. Check your vendor's security advisory for targeted kernel updates. Upstream, the fix has been integrated into mainline after the initial report. For enterprise distributions (RHEL, Ubuntu, Debian, SUSE), security updates should be released through standard package channels. When patching, ensure your BPF programs are tested post-update, as this fix only adds a scheduling point and should not alter program behavior. Kernel reboot is required to activate the patched code.
Detection guidance
Monitor kernel logs for RCU stall warnings (rcu: CPU ... detected stall) coinciding with BPF workqueue activity, particularly prog_array_map_clear_deferred entries. Kernel perf or ftrace can capture bpf_fd_array_map_clear() execution time; sustained durations without preemption suggest vulnerability exploitation. On affected systems, instrument BPF syscall access and monitor for repeated BPF_MAP_CREATE and BPF_MAP_DELETE_ELEM operations on PROG_ARRAY types with abnormally large counts. SELinux or AppArmor audit logs can reveal unprivileged BPF syscall invocation.
Why prioritize this
This issue should be patched promptly in production environments, especially those relying on BPF for network or observability functions. The fix is surgical and low-risk, carrying minimal compatibility burden. However, it is not an immediate critical emergency given the localized impact and access requirements. Prioritize systems exposing BPF to untrusted users or those running long-lived BPF programs that manage many entries.
Risk score, explained
CVSS 5.5 (Medium) reflects the local-only attack requirement (AV:L), low attack complexity (AC:L), and the need for user-level privileges (PR:L). The impact is exclusively availability (A:H), with no confidentiality or integrity loss. The score appropriately calibrates this as a moderate risk requiring attention but not an emergency affecting systems with strict privilege boundaries.
Frequently asked questions
Can this vulnerability be exploited remotely?
No. The vulnerability requires local system access and the ability to invoke BPF syscalls. There is no remote attack surface.
What role does RCU play in this issue?
RCU is the kernel's read-copy-update synchronization mechanism. The cleanup loop blocks RCU's grace period processing by running uninterruptibly, causing the kernel to believe the system is hung. Adding cond_resched() allows RCU to make forward progress.
Does this affect all PROG_ARRAY maps or only certain configurations?
All PROG_ARRAY maps are affected by the bug, but exploitation is practical only when a map contains enough entries to cause noticeable stall time. Small or rarely-cleared maps may not trigger visible symptoms.
What should I do if I cannot patch immediately?
Restrict BPF syscall access to trusted processes using security policies (SELinux, AppArmor, seccomp) or disable BPF entirely if not required. Monitor kernel logs for RCU stall warnings. Patch at your earliest maintenance window.
This analysis is based on published CVE data and upstream kernel discussions. No exploit code, proof-of-concept, or weaponized tooling is provided. Patch availability, version numbers, and deployment timelines are vendor-specific; consult your Linux distribution's security advisory for authoritative guidance. This vulnerability is not currently listed on the CISA Known Exploited Vulnerabilities (KEV) catalog. Testing should occur in non-production environments first. SEC.co makes no warranty regarding accuracy or completeness and recommends independent verification of all recommendations. Source: NVD (public-domain), retrieved 2026-08-01. Analysis generated by SEC.co (claude-haiku-4-5).
Affected vendors
Related vulnerabilities
- CVE-2025-71313MEDIUMLinux Kernel PCI Endpoint NULL Pointer Dereference
- CVE-2025-71314MEDIUMLinux Panthor GPU Driver Denial of Service via Cache Flush Timeout
- CVE-2025-71315MEDIUMLinux Kernel vkms DRM Vblank Timer Denial of Service
- CVE-2026-0268MEDIUMPrisma Access Agent Linux VPN Bypass Vulnerability
- CVE-2026-10004MEDIUMChrome UI Spoofing Vulnerability – Password Dialog Hijacking
- CVE-2026-10018MEDIUMInteger Overflow in Chrome ANGLE GPU Graphics Layer
- CVE-2026-10912MEDIUMChrome Extension Same-Origin Policy Bypass (CVSS 6.5)
- CVE-2026-10916MEDIUMChrome DevTools UXSS Vulnerability