CVE-2023-52980

Severity CVSS v4.0:
Pending analysis
Type:
CWE-787 Out-of-bounds Write
Publication date:
27/03/2025
Last modified:
28/10/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> block: ublk: extending queue_size to fix overflow<br /> <br /> When validating drafted SPDK ublk target, in a case that<br /> assigning large queue depth to multiqueue ublk device,<br /> ublk target would run into a weird incorrect state. During<br /> rounds of review and debug, An overflow bug was found<br /> in ublk driver.<br /> <br /> In ublk_cmd.h, UBLK_MAX_QUEUE_DEPTH is 4096 which means<br /> each ublk queue depth can be set as large as 4096. But<br /> when setting qd for a ublk device,<br /> sizeof(struct ublk_queue) + depth * sizeof(struct ublk_io)<br /> will be larger than 65535 if qd is larger than 2728.<br /> Then queue_size is overflowed, and ublk_get_queue()<br /> references a wrong pointer position. The wrong content of<br /> ublk_queue elements will lead to out-of-bounds memory<br /> access.<br /> <br /> Extend queue_size in ublk_device as "unsigned int".

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.0 (including) 6.1.11 (excluding)
cpe:2.3:o:linux:linux_kernel:6.2:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.2:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.2:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.2:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.2:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.2:rc6:*:*:*:*:*:*