Executive brief
A vulnerability in the Linux kernel's BPF subsystem could allow a local user to cause a system crash. The issue occurs because certain monitoring programs (kprobes) were allowed to perform 'sleepable' operations in contexts where the system expects immediate, non-blocking execution. This mismatch leads to kernel errors and potential system instability or denial of service.
Technical details
A vulnerability exists in bpf_kprobe_multi_link_attach() within the Linux kernel where the system fails to verify if a BPF program has the sleepable flag set before attachment. kprobe.multi programs execute within atomic or RCU contexts where sleeping is prohibited. By attaching a program with the sleepable flag, an attacker can trigger sleepable helpers (like bpf_copy_from_user) from these non-sleepable contexts. This results in a kernel 'splat' (BUG: sleeping function called from invalid context), which can be leveraged by a local user to cause a kernel panic or denial of service. The fix involves explicitly rejecting sleepable programs during the attachment phase.
Affected products
- Linux Linux 5.18 to 6.18.21, 6.19.11, 7.0
Timeline
- 2026-04-02: patched: Initial fix committed to mainline kernel
- 2026-05-01: disclosed: CVE published
References
- https://git.kernel.org/stable/c/89327ed787746a7aa4db3c97f91d2e294228932b
- https://git.kernel.org/stable/c/d97b19fe5265f7901b2c862f88a4eb1b129a0b61
- https://git.kernel.org/stable/c/dc9a060d76c12b23c5f378ee115d5e5d03d8bbf3
- https://git.kernel.org/stable/c/eb7024bfcc5f68ed11ed9dd4891a3073c15f04a8
- https://git.kernel.org/stable/c/f952157e695fd434bdc05af63a703bb082a78717