CVE-2026-23134: slab: fix kmalloc_nolock() context check for PREEMPT_RT
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.
Security readout for executives and security teams
Plain-English summary
This Linux kernel issue affects PREEMPT_RT real-time kernels. A memory allocation path can wrongly try to take a sleeping lock while preemption is disabled, causing a kernel BUG condition. The source bundle does not provide CVSS, CWE, privilege requirements, or a confirmed security impact beyond kernel instability.
Executive priority
Treat as a targeted kernel maintenance item. It is most urgent for real-time Linux environments where kernel BUG conditions can disrupt operations, but the public record does not support emergency response claims.
Technical view
kmalloc_nolock() only checked NMI and hard IRQ context. On PREEMPT_RT, local_lock may sleep, so callers with preemption disabled, including BPF tracepoint execution, can trigger an invalid sleeping-lock acquisition. The fix adds a PREEMPT_RT !preemptible() check before using local_lock_irqsave().
Likely exposure
Exposure appears limited to Linux systems running affected PREEMPT_RT kernel versions or commit ranges. The provided data lists Linux 6.18, 6.18.8, and 6.19 as affected, but distro backport status is not included.
Exploitation context
The bundle does not cite active exploitation, and KEV is false. It describes a trigger involving a BPF program running from a tracepoint with preemption disabled, but does not establish attacker prerequisites or remote exploitability.
Researcher notes
The public bundle is sparse: no CVSS, CWE, privilege model, exploit status, or distro matrix. Analysis should stay tied to PREEMPT_RT behavior and the two kernel stable commits until vendors publish broader guidance.
Mitigation direction
Apply vendor or distro kernel updates containing the referenced stable fixes.
Prioritize PREEMPT_RT systems and hosts using BPF tracing workloads.
Check vendor advisories before assuming generic kernel version numbers are affected.
Plan maintenance windows for real-time workloads before kernel replacement.
Validation and detection
Inventory systems running PREEMPT_RT kernels in the listed affected ranges.
Confirm kernel packages include commits f60ba4a97ae3 or 99a3e3a1cfc9.
Review kernel logs for invalid-context sleeping function BUG messages.
Check BPF tracepoint usage on real-time systems for exposure prioritization.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-23134 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
3Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Feb 14, 2026, 15:14 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.