CVE-2023-52980

block: ublk: extending queue_size to fix overflow

State
Published
Severity
Not scored
Published
Mar 27, 2025
Updated
May 11, 2026
Reserved
Mar 27, 2025

Read the record on cve.org

Description

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".

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 71f28f3136aff5890cd56de78abc673f8393cad9 to before ee1e3fe4b4579f856997190a00ea4db0307b4332Affected
  • 71f28f3136aff5890cd56de78abc673f8393cad9 to before 29baef789c838bd5c02f50c88adbbc6b955aaf61Affected
LinuxLinux
  • 6.0Affected
  • before 6.0Not affected
  • 6.1.11 through 6.1.*Not affected
  • 6.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.