In the Linux kernel, the following vulnerability has been resolved: erofs: fix use-after-free on sbi->sync_decompress z_erofs_decompress_kickoff() can race with filesystem unmount, causing a use-after-free on sbi->sync_decompress. When I/O completes, z_erofs_endio() calls z_erofs_decompress_kickoff() to queue z_erofs_decompressqueue_work() asynchronously. Then, after all folios are unlocked, unmount workflow can proceed and sbi will be freed before accessing to sbi->sync_decompress. Thread (unmount) I/O completion kworker queue_work z_erofs_decompressqueue_work (all folios are unlocked) cleanup_mnt .. erofs_kill_sb erofs_sb_free kfree(sbi) access sbi->sync_decompress // UAF!!
https://git.kernel.org/stable/c/95caf60da33d87ed26c28993620f0d92487b0296
https://git.kernel.org/stable/c/86ab00cf81d44b675bb23db62b88fd76c8ac8cea
https://git.kernel.org/stable/c/1aee05e814d292064bf5fa15733741040cdc48ba
https://git.kernel.org/stable/c/00bf6868df65fa95b3854996246d15759fdc7070