CVE Database›Document archive›CVE-2023-53820

CVE-2023-53820

kernel: loop: loop_set_status_from_info() check before assignment

Loading…

Severity

Moderate

Red Hat Product Security

6.7

CVSS 3.1

Review impact separately from score.

Published · December 9, 2025

Updated · June 30, 2026

Description

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

loop: loop_set_status_from_info() check before assignment

In loop_set_status_from_info(), lo->lo_offset and lo->lo_sizelimit should be checked before reassignment, because if an overflow error occurs, the original correct value will be changed to the wrong value, and it will not be changed back.

More, the original patch did not solve the problem, the value was set and ioctl returned an error, but the subsequent io used the value in the loop driver, which still caused an alarm:

loop_handle_cmd do_req_filebacked loff_t pos = ((loff_t) blk_rq_pos(rq) << 9) + lo->lo_offset; lo_rw_aio cmd->iocb.ki_pos = pos

Statement

A logic bug in loop_set_status_from_info() wrote lo_offset/lo_sizelimit before validating them. On overflow the erroneous values persisted and were later used for I/O position calculations, enabling out-of-range reads/writes against the loop backing file or a crash. Exploitation is local and typically requires the ability to configure a loop device (commonly CAP_SYS_ADMIN).

CVSS score applicability

The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.

Mitigation

Mitigation for this issue is either not available or the currently available options don't meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.

CVSS / CWE

CVSS 3.1 · 6.7
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H

CWE-190 · Integer Overflow or Wraparound