CVE-2026-98800: bpf: Wait for an RCU tasks grace period before freeing trampoline progs
bpf: Wait for an RCU tasks grace period before freeing trampoline progs
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
When freeing a BPF program linked to a trampoline, wait for an RCU tasks grace period before the existing grace-period wait; this covers tasks preempted in the trampoline before the enter helper.
Event History
Frequently Asked Questions
Which systems are exposed to this race condition?
The issue affects preemptible Linux kernels where a task can be preempted in a BPF trampoline immediately before the program enter helper acquires its matching read lock.
What event is required to trigger the use-after-free?
A BPF program must be detached from a trampoline while another task has been preempted in that trampoline just before entering the program. The detached program can then be freed before that task resumes and calls it.
How might an affected system present?
The provided report shows KASAN reporting a vmalloc-out-of-bounds read in __bpf_prog_enter_recur, with execution through a bpf_trampoline function. The example occurred during a futex system call on a fully preemptible kernel.