What’s Vulnerable › Vulnerabilities
CVE-2026-23134: slab: fix kmalloc_nolock() context check for PREEMPT_RT
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.1% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-02-14 · updated 2026-06-17
Description
In the Linux kernel, the following vulnerability has been resolved: slab: fix kmalloc_nolock() context check for PREEMPT_RT On PREEMPT_RT kernels, local_lock becomes a sleeping lock. The current check in kmalloc_nolock() only verifies we're not in NMI or hard IRQ context, but misses the case where preemption is disabled. When a BPF program runs from a tracepoint with preemption disabled (preempt_count > 0), kmalloc_nolock() proceeds to call local_lock_irqsave() which attempts to acquire a sleeping lock, triggering: BUG: sleeping function called from invalid context in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 6128 preempt_count: 2, expected: 0 Fix this by checking !preemptible() on PREEMPT_RT, which directly expresses the constraint that we cannot take a sleeping lock when preemption is disabled. This encompasses the previous checks for NMI and hard IRQ contexts while also catching cases where preemption is disabled.
Affected products
- Linux kernel: from 6.18 before 6.18.8; 6.19-rc1, 6.19-rc2, 6.19-rc3, 6.19-rc4, 6.19-rc5, 6.19-rc6 — fixed in 6.18.8
How to fix
Upgrade to a fixed version: Linux kernel 6.18.8. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/99a3e3a1cfc93b8fe318c0a3a5cfb01f1d4ad53c
- https://git.kernel.org/stable/c/f60ba4a97ae3f94e4818722ed2e4d260bbb17b44
Get alerted when CVE-2026-23134 or the next vulnerability affects your stack