CVE-2026-23148CWE-362CWE-476

CVE-2026-23148

High · published February 14, 2026

CVSS v3.1
7.5
EPSS
0%
Percentile
14.3
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

nvmet: fix race in nvmet_bio_done() leading to NULL pointer dereference

There is a race condition in nvmet_bio_done() that can cause a NULL

pointer dereference in blk_cgroup_bio_start():

1. nvmet_bio_done() is called when a bio completes

2. nvmet_req_complete() is called, which invokes req->ops->queue_response(req)

3. The queue_response callback can re-queue and re-submit the same request

4. The re-submission reuses the same inline_bio from nvmet_req

5. Meanwhile, nvmet_req_bio_put() (called after nvmet_req_complete)

invokes bio_uninit() for inline_bio, which sets bio->bi_blkg to NULL

6. The re-submitted bio enters submit_bio_noacct_nocheck()

7. blk_cgroup_bio_start() dereferences bio->bi_blkg, causing a crash:

BUG: kernel NULL pointer dereference, address: 0000000000000028

#PF: supervisor read access in kernel mode

RIP: 0010:blk_cgroup_bio_start+0x10/0xd0

Call Trace:

submit_bio_noacct_nocheck+0x44/0x250

nvmet_bdev_execute_rw+0x254/0x370 [nvmet]

process_one_work+0x193/0x3c0

worker_thread+0x281/0x3a0

Fix this by reordering nvmet_bio_done() to call nvmet_req_bio_put()

BEFORE nvmet_req_complete(). This ensures the bio is cleaned up before

the request can be re-submitted, preventing the race condition.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00240 · 14.3th percentile
Weaknesses
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition'); CWE-476 · NULL Pointer Dereference
Published
2026-02-14T21:15Z
Affected products (14)
ProductVersionsFixed in
linux/linux_kernel≥ 6.12.37, < 6.12.696.12.69
linux/linux_kernel≥ 6.15.6, < 6.166.16
linux/linux_kernel≥ 6.16.1, < 6.18.96.18.9
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (3)
EPSS history
Timeline
  • 14 FEB 16:01Z
    nvmet: fix race in nvmet_bio_done() leading to NULL pointer dereference
    cvelistv5