CVE-2023-52980

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

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
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:*:*:*:*:*:*

History

28 Oct 2025, 18:23

Type Values Removed Values Added
CPE cpe:2.3:o:linux:linux_kernel:6.2:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.2:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.2:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.2:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.2:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.2:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
First Time Linux linux Kernel
Linux
CWE CWE-787
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: bloque: ublk: extensión de queue_size para corregir el desbordamiento Al validar el borrador del objetivo ublk de SPDK, en un caso en el que se asigna una gran profundidad de cola al dispositivo ublk de múltiples colas, el objetivo ublk se ejecutaría en un estado incorrecto extraño. Durante las rondas de revisión y depuración, se encontró un error de desbordamiento en el controlador ublk. En ublk_cmd.h, UBLK_MAX_QUEUE_DEPTH es 4096, lo que significa que cada profundidad de cola ublk se puede configurar tan grande como 4096. Pero al configurar qd para un dispositivo ublk, sizeof(struct ublk_queue) + profundidad * sizeof(struct ublk_io) será mayor que 65535 si qd es mayor que 2728. Entonces queue_size se desborda y ublk_get_queue() hace referencia a una posición de puntero incorrecta. El contenido incorrecto de los elementos ublk_queue provocará un acceso a memoria fuera de los límites. Extienda queue_size en ublk_device como "unsigned int".
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.8
References () https://git.kernel.org/stable/c/29baef789c838bd5c02f50c88adbbc6b955aaf61 - () https://git.kernel.org/stable/c/29baef789c838bd5c02f50c88adbbc6b955aaf61 - Patch
References () https://git.kernel.org/stable/c/ee1e3fe4b4579f856997190a00ea4db0307b4332 - () https://git.kernel.org/stable/c/ee1e3fe4b4579f856997190a00ea4db0307b4332 - Patch

27 Mar 2025, 17:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-03-27 17:15

Updated : 2025-10-28 18:23


NVD link : CVE-2023-52980

Mitre link : CVE-2023-52980

CVE.ORG link : CVE-2023-52980


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-787

Out-of-bounds Write