CVE-2026-23374
Use-After-Free in Linux Kernel blktrace Causes Kernel BUG
Publication date: 2026-03-25
Last updated on: 2026-04-27
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | 3.8 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | From 3.8.1 (inc) to 6.12.82 (exc) |
| linux | linux_kernel | From 6.13 (inc) to 6.19.7 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
How can this vulnerability impact me? :
This vulnerability can cause kernel crashes or instability due to improper handling of per-CPU variables in a preemptible context. It may lead to system errors or failures when running certain block tracing operations, potentially affecting system reliability and performance.
Can you explain this vulnerability to me?
This vulnerability in the Linux kernel involves improper use of per-CPU variable access functions (__this_cpu_read and __this_cpu_write) in a preemptible context. Specifically, the function tracing_record_cmdline() uses these functions on a per-CPU variable trace_cmdline_save, which is only safe when preemption is disabled. However, __blk_add_trace() was calling tracing_record_cmdline() from process context where preemption is enabled, leading to a BUG triggered by unsafe access to per-CPU variables.
This bug manifests as a runtime error when running blktrace tests, causing kernel warnings and potential instability due to accessing CPU-specific data without disabling preemption as required.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by observing kernel logs (dmesg) for specific BUG messages related to the improper use of __this_cpu_read() in preemptible code contexts.
Look for messages similar to: "BUG: using __this_cpu_read() in preemptible code" along with call traces involving tracing_record_cmdline and blk_add_trace functions.
Running the blktrace test blktrace/002 can reproduce the issue, which fails with the described BUG message.
- Use the command: dmesg | grep '__this_cpu_read() in preemptible'
- Run blktrace tests, specifically blktrace/002, to check for failure and related kernel BUG messages.
What immediate steps should I take to mitigate this vulnerability?
The vulnerability is fixed by correcting the use of __this_cpu_read/write in preemptible contexts within the Linux kernel.
Immediate mitigation involves updating the Linux kernel to a version where this fix is applied, as the issue arises from kernel code paths that improperly enable preemption.
Until the kernel is updated, avoid running workloads or tests that trigger the blk_add_trace paths, such as blktrace/002, to reduce the risk of encountering this BUG.