CVE-2026-98800
Received Received - Intake

RCU Tasks Grace Period in Linux Kernel

Vulnerability report for CVE-2026-98800, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-18

Last updated on: 2026-10-18

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: bpf: Wait for an RCU tasks grace period before freeing trampoline progs When a prog is detached from a trampoline, it is freed after an RCU grace period, or an RCU tasks trace one if it is sleepable. This covers the tasks that are running the prog, since the prog's enter helper takes the matching read lock before the prog is called. On a preemptible kernel, it doesn't cover a task that was preempted in the trampoline just before the enter helper. That task holds no lock yet, and it calls the prog after it was freed: BUG: KASAN: vmalloc-out-of-bounds in __bpf_prog_enter_recur+0x3a5/0x3f0 Read of size 8 at addr ffffc90000055040 by task candidate/110 CPU: 1 UID: 0 PID: 110 Comm: candidate Not tainted 7.3.0-rc2-00014-g15071f2a1263-dirty #2 PREEMPT(full) Call Trace: <TASK> __bpf_prog_enter_recur+0x3a5/0x3f0 bpf_trampoline_6442509193+0x37/0xf1 __x64_sys_futex+0x9/0x410 do_syscall_64+0xb0/0x530 ... Wait for an RCU tasks grace period before the existing one when freeing a prog that was linked to a trampoline. An RCU tasks grace period only ends once the tasks that were preempted have run again, and bpf_tramp_image_put() already relies on it to free the image. It doesn't wait for tasks that sleep in the trampoline, the next commit takes care of those. Only progs that were linked to a trampoline can be called this way, so bpf_trampoline_add_prog() marks them and other progs are still freed as before.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-18
Last Modified
2026-10-18
Generated
2026-10-18
AI Q&A
2026-10-18
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 7 associated CPEs
Vendor Product Version / Range
Linux Linux e21aa341785c679dd409c8cb71f864c00fe6c463
Linux Linux e21aa341785c679dd409c8cb71f864c00fe6c463
Linux Linux e21d2b92354b3cd25dd774ebb0f0e52ff04a7861
Linux Linux 85d177f56e5256e14b74a65940f981f6e3e8bb32
Linux Linux 5.10.28
Linux Linux 5.11.11
Linux Linux 5.12

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in the Linux kernel involves a race condition when freeing BPF programs linked to trampolines. When a program is detached from a trampoline, it is freed after an RCU grace period. However, on preemptible kernels, a task preempted in the trampoline before the program is freed may still call the freed program, leading to a use-after-free bug and potential memory corruption.

Detection Guidance

This vulnerability is specific to the Linux kernel's BPF (Berkeley Packet Filter) subsystem. Detection requires checking kernel logs for KASAN errors related to vmalloc out-of-bounds access in __bpf_prog_enter_recur. Monitor dmesg or /var/log/kern.log for errors like 'BUG: KASAN: vmalloc-out-of-bounds'.

Impact Analysis

This vulnerability can cause system instability, crashes, or arbitrary code execution. It may allow local attackers to escalate privileges or trigger kernel memory corruption, potentially leading to denial-of-service conditions or unauthorized access to sensitive data.

Mitigation Strategies

Update the Linux kernel to a patched version that includes the fix for this BPF trampoline issue. The vulnerability is resolved in kernel versions that incorporate the commit addressing the RCU tasks grace period wait before freeing trampoline programs.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-98800. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart