CVE-2024-46735

ublk_drv: fix NULL pointer dereference in ublk_ctrl_start_recovery()

published September 18, 2024

CVSS
—
EPSS
0%
Percentile
14.8
In the wild
Unconfirmed
What it is

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

ublk_drv: fix NULL pointer dereference in ublk_ctrl_start_recovery()

When two UBLK_CMD_START_USER_RECOVERY commands are submitted, the

first one sets 'ubq->ubq_daemon' to NULL, and the second one triggers

WARN in ublk_queue_reinit() and subsequently a NULL pointer dereference

issue.

Fix it by adding the check in ublk_ctrl_start_recovery() and return

immediately in case of zero 'ub->nr_queues_ready'.

BUG: kernel NULL pointer dereference, address: 0000000000000028

RIP: 0010:ublk_ctrl_start_recovery.constprop.0+0x82/0x180

Call Trace:

<TASK>

? __die+0x20/0x70

? page_fault_oops+0x75/0x170

? exc_page_fault+0x64/0x140

? asm_exc_page_fault+0x22/0x30

? ublk_ctrl_start_recovery.constprop.0+0x82/0x180

ublk_ctrl_uring_cmd+0x4f7/0x6c0

? pick_next_task_idle+0x26/0x40

io_uring_cmd+0x9a/0x1b0

io_issue_sqe+0x193/0x3f0

io_wq_submit_work+0x9b/0x390

io_worker_handle_work+0x165/0x360

io_wq_worker+0xcb/0x2f0

? finish_task_switch.isra.0+0x203/0x290

? finish_task_switch.isra.0+0x203/0x290

? __pfx_io_wq_worker+0x10/0x10

ret_from_fork+0x2d/0x50

? __pfx_io_wq_worker+0x10/0x10

ret_from_fork_asm+0x1a/0x30

</TASK>

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00245 · 14.8th percentile
Published
2024-09-18T07:11Z
EPSS history
Timeline
  • 18 SEP 07:11Z
    ublk_drv: fix NULL pointer dereference in ublk_ctrl_start_recovery()
    cvelistv5