CVE-2026-23452CWE-362

CVE-2026-23452

Medium · published April 3, 2026

CVSS v3.1
4.7
EPSS
0%
Percentile
0.5
In the wild
Unconfirmed
What it is

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

PM: runtime: Fix a race condition related to device removal

The following code in pm_runtime_work() may dereference the dev->parent

pointer after the parent device has been freed:

/* Maybe the parent is now able to suspend. */

if (parent && !parent->power.ignore_children) {

spin_unlock(&dev->power.lock);

spin_lock(&parent->power.lock);

rpm_idle(parent, RPM_ASYNC);

spin_unlock(&parent->power.lock);

spin_lock(&dev->power.lock);

}

Fix this by inserting a flush_work() call in pm_runtime_remove().

Without this patch blktest block/001 triggers the following complaint

sporadically:

BUG: KASAN: slab-use-after-free in lock_acquire+0x70/0x160

Read of size 1 at addr ffff88812bef7198 by task kworker/u553:1/3081

Workqueue: pm pm_runtime_work

Call Trace:

<TASK>

dump_stack_lvl+0x61/0x80

print_address_description.constprop.0+0x8b/0x310

print_report+0xfd/0x1d7

kasan_report+0xd8/0x1d0

__kasan_check_byte+0x42/0x60

lock_acquire.part.0+0x38/0x230

lock_acquire+0x70/0x160

_raw_spin_lock+0x36/0x50

rpm_suspend+0xc6a/0xfe0

rpm_idle+0x578/0x770

pm_runtime_work+0xee/0x120

process_one_work+0xde3/0x1410

worker_thread+0x5eb/0xfe0

kthread+0x37b/0x480

ret_from_fork+0x6cb/0x920

ret_from_fork_asm+0x11/0x20

</TASK>

Allocated by task 4314:

kasan_save_stack+0x2a/0x50

kasan_save_track+0x18/0x40

kasan_save_alloc_info+0x3d/0x50

__kasan_kmalloc+0xa0/0xb0

__kmalloc_noprof+0x311/0x990

scsi_alloc_target+0x122/0xb60 [scsi_mod]

__scsi_scan_target+0x101/0x460 [scsi_mod]

scsi_scan_channel+0x179/0x1c0 [scsi_mod]

scsi_scan_host_selected+0x259/0x2d0 [scsi_mod]

store_scan+0x2d2/0x390 [scsi_mod]

dev_attr_store+0x43/0x80

sysfs_kf_write+0xde/0x140

kernfs_fop_write_iter+0x3ef/0x670

vfs_write+0x506/0x1470

ksys_write+0xfd/0x230

__x64_sys_write+0x76/0xc0

x64_sys_call+0x213/0x1810

do_syscall_64+0xee/0xfc0

entry_SYSCALL_64_after_hwframe+0x4b/0x53

Freed by task 4314:

kasan_save_stack+0x2a/0x50

kasan_save_track+0x18/0x40

kasan_save_free_info+0x3f/0x50

__kasan_slab_free+0x67/0x80

kfree+0x225/0x6c0

scsi_target_dev_release+0x3d/0x60 [scsi_mod]

device_release+0xa3/0x220

kobject_cleanup+0x105/0x3a0

kobject_put+0x72/0xd0

put_device+0x17/0x20

scsi_device_dev_release+0xacf/0x12c0 [scsi_mod]

device_release+0xa3/0x220

kobject_cleanup+0x105/0x3a0

kobject_put+0x72/0xd0

put_device+0x17/0x20

scsi_device_put+0x7f/0xc0 [scsi_mod]

sdev_store_delete+0xa5/0x120 [scsi_mod]

dev_attr_store+0x43/0x80

sysfs_kf_write+0xde/0x140

kernfs_fop_write_iter+0x3ef/0x670

vfs_write+0x506/0x1470

ksys_write+0xfd/0x230

__x64_sys_write+0x76/0xc0

x64_sys_call+0x213/0x1810

The record
Technical detail
CVSS v3.1
4.7 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00091 · 0.5th percentile
Weakness
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Published
2026-04-03T20:16Z
Affected products (11)
ProductVersionsFixed in
linux/linux_kernel≥ 2.6.32, < 5.10.2535.10.253
linux/linux_kernel≥ 5.11, < 5.15.2035.15.203
linux/linux_kernel≥ 5.16, < 6.1.1676.1.167
linux/linux_kernel≥ 6.2, < 6.6.1306.6.130
linux/linux_kernel≥ 6.7, < 6.12.786.12.78
linux/linux_kernel≥ 6.13, < 6.18.206.18.20
linux/linux_kernel≥ 6.19, < 6.19.106.19.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (11)
EPSS history
Timeline
  • 03 APR 15:15Z
    PM: runtime: Fix a race condition related to device removal
    cvelistv5