CVEvulnerability
CVE-2023-53820
- Status
- Deferred
- Published
- 2025-12-09
- Last modified
- 2026-06-17
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
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
References
- https://git.kernel.org/stable/c/258809bf22bf71d53247856f374f2b1d055f2fd4 git.kernel.org
- https://git.kernel.org/stable/c/2ea7077748e5d7cc64f1c31342c802fe66ea7426 git.kernel.org
- https://git.kernel.org/stable/c/3e7d0968203d668af6036b9f9199c7b62c8a3581 git.kernel.org
- https://git.kernel.org/stable/c/4be26d553a3f1d4f54f25353d1496c562002126d git.kernel.org
- https://git.kernel.org/stable/c/6bdf4e6dfb60cbb6121ccf027d97ed2ec97c0bcb git.kernel.org
- https://git.kernel.org/stable/c/832580af82ace363205039a8e7c4ef04552ccc1a git.kernel.org
- https://git.kernel.org/stable/c/861021710bba9dfa0749a3c209a6c1773208b1f1 git.kernel.org
- https://git.kernel.org/stable/c/9f6ad5d533d1c71e51bdd06a5712c4fbc8768dfa git.kernel.org
- https://git.kernel.org/stable/c/c79a924ed6afac1708dfd370ba66bcf6a852ced6 git.kernel.org