CVE-2023-53111

Summary

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

loop: Fix use-after-free issues

do_req_filebacked() calls blk_mq_complete_request() synchronously or asynchronously when using asynchronous I/O unless memory allocation fails. Hence, modify loop_handle_cmd() such that it does not dereference 'cmd' nor 'rq' after do_req_filebacked() finished unless we are sure that the request has not yet been completed. This patch fixes the following kernel crash:

Unable to handle kernel NULL pointer dereference at virtual address 0000000000000054 Call trace: css_put.42938+0x1c/0x1ac loop_process_work+0xc8c/0xfd4 loop_rootcg_workfn+0x24/0x34 process_one_work+0x244/0x558 worker_thread+0x400/0x8fc kthread+0x16c/0x1e0 ret_from_fork+0x10/0x20

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxbc07c10a3603a5ab3ef01ba42b3d41f9ac63d1b6 < 407badf73ec9fb0d5744bf2ca1745c1818aa222faffected
LinuxLinuxbc07c10a3603a5ab3ef01ba42b3d41f9ac63d1b6 < e3fda704903f6d1fc351412f1bc6620333959adaaffected
LinuxLinuxbc07c10a3603a5ab3ef01ba42b3d41f9ac63d1b6 < 6917395c4667cfb607ed8bf1826205a59414657caffected
LinuxLinuxbc07c10a3603a5ab3ef01ba42b3d41f9ac63d1b6 < 9b0cb770f5d7b1ff40bea7ca385438ee94570eecaffected
LinuxLinux4.4affected
LinuxLinux0 < 4.4unaffected
LinuxLinux5.15.104 <= 5.15.*unaffected
LinuxLinux6.1.21 <= 6.1.*unaffected
LinuxLinux6.2.8 <= 6.2.*unaffected
LinuxLinux6.3 <= *unaffected

Weaknesses

References