Description
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!!
Affected products
- Linux / Linux40452ffca3c1a0f2994e826f9fa213b107f1a2d4 – 86ab00cf81d44b675bb23db62b88fd76c8ac8cea
- Linux / Linux40452ffca3c1a0f2994e826f9fa213b107f1a2d4 – 00bf6868df65fa95b3854996246d15759fdc7070
- Linux / Linux40452ffca3c1a0f2994e826f9fa213b107f1a2d4 – 95caf60da33d87ed26c28993620f0d92487b0296
- Linux / Linux40452ffca3c1a0f2994e826f9fa213b107f1a2d4 – 1aee05e814d292064bf5fa15733741040cdc48ba
- Linux / Linux5.17 – 5.17
- Linux / Linux0 – 5.17
- Linux / Linux6.12.94 – 6.12.*
- Linux / Linux6.18.36 – 6.18.*
- Linux / Linux7.0.13 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/86ab00cf81d44b675bb23db62b88fd76c8ac8cea
- MISChttps://git.kernel.org/stable/c/00bf6868df65fa95b3854996246d15759fdc7070
- MISChttps://git.kernel.org/stable/c/95caf60da33d87ed26c28993620f0d92487b0296
- MISChttps://git.kernel.org/stable/c/1aee05e814d292064bf5fa15733741040cdc48ba