CVE-2024-26842

scsi: ufs: core: Fix shift issue in ufshcd_clear_cmd()

published April 17, 2024

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

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

scsi: ufs: core: Fix shift issue in ufshcd_clear_cmd()

When task_tag >= 32 (in MCQ mode) and sizeof(unsigned int) == 4, 1U <<

task_tag will out of bounds for a u32 mask. Fix this up to prevent

SHIFT_ISSUE (bitwise shifts that are out of bounds for their data type).

[name:debug_monitors&]Unexpected kernel BRK exception at EL1

[name:traps&]Internal error: BRK handler: 00000000f2005514 [#1] PREEMPT SMP

[name:mediatek_cpufreq_hw&]cpufreq stop DVFS log done

[name:mrdump&]Kernel Offset: 0x1ba5800000 from 0xffffffc008000000

[name:mrdump&]PHYS_OFFSET: 0x80000000

[name:mrdump&]pstate: 22400005 (nzCv daif +PAN -UAO)

[name:mrdump&]pc : [0xffffffdbaf52bb2c] ufshcd_clear_cmd+0x280/0x288

[name:mrdump&]lr : [0xffffffdbaf52a774] ufshcd_wait_for_dev_cmd+0x3e4/0x82c

[name:mrdump&]sp : ffffffc0081471b0

<snip>

Workqueue: ufs_eh_wq_0 ufshcd_err_handler

Call trace:

dump_backtrace+0xf8/0x144

show_stack+0x18/0x24

dump_stack_lvl+0x78/0x9c

dump_stack+0x18/0x44

mrdump_common_die+0x254/0x480 [mrdump]

ipanic_die+0x20/0x30 [mrdump]

notify_die+0x15c/0x204

die+0x10c/0x5f8

arm64_notify_die+0x74/0x13c

do_debug_exception+0x164/0x26c

el1_dbg+0x64/0x80

el1h_64_sync_handler+0x3c/0x90

el1h_64_sync+0x68/0x6c

ufshcd_clear_cmd+0x280/0x288

ufshcd_wait_for_dev_cmd+0x3e4/0x82c

ufshcd_exec_dev_cmd+0x5bc/0x9ac

ufshcd_verify_dev_init+0x84/0x1c8

ufshcd_probe_hba+0x724/0x1ce0

ufshcd_host_reset_and_restore+0x260/0x574

ufshcd_reset_and_restore+0x138/0xbd0

ufshcd_err_handler+0x1218/0x2f28

process_one_work+0x5fc/0x1140

worker_thread+0x7d8/0xe20

kthread+0x25c/0x468

ret_from_fork+0x10/0x20

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00236 · 13.8th percentile
Published
2024-04-17T10:10Z
EPSS history
Timeline
  • 17 APR 10:10Z
    scsi: ufs: core: Fix shift issue in ufshcd_clear_cmd()
    cvelistv5