CVE-2023-53820
kernel: loop: loop_set_status_from_info() check before assignment
Severity
ModerateRed Hat Product Security
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.7CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
CWE-190 · Integer Overflow or Wraparound