{"id":"DEBIAN-CVE-2024-41058","details":"In the Linux kernel, the following vulnerability has been resolved:  cachefiles: fix slab-use-after-free in fscache_withdraw_volume()  We got the following issue in our fault injection stress test:  ================================================================== BUG: KASAN: slab-use-after-free in fscache_withdraw_volume+0x2e1/0x370 Read of size 4 at addr ffff88810680be08 by task ondemand-04-dae/5798  CPU: 0 PID: 5798 Comm: ondemand-04-dae Not tainted 6.8.0-dirty #565 Call Trace:  kasan_check_range+0xf6/0x1b0  fscache_withdraw_volume+0x2e1/0x370  cachefiles_withdraw_volume+0x31/0x50  cachefiles_withdraw_cache+0x3ad/0x900  cachefiles_put_unbind_pincount+0x1f6/0x250  cachefiles_daemon_release+0x13b/0x290  __fput+0x204/0xa00  task_work_run+0x139/0x230  Allocated by task 5820:  __kmalloc+0x1df/0x4b0  fscache_alloc_volume+0x70/0x600  __fscache_acquire_volume+0x1c/0x610  erofs_fscache_register_volume+0x96/0x1a0  erofs_fscache_register_fs+0x49a/0x690  erofs_fc_fill_super+0x6c0/0xcc0  vfs_get_super+0xa9/0x140  vfs_get_tree+0x8e/0x300  do_new_mount+0x28c/0x580  [...]  Freed by task 5820:  kfree+0xf1/0x2c0  fscache_put_volume.part.0+0x5cb/0x9e0  erofs_fscache_unregister_fs+0x157/0x1b0  erofs_kill_sb+0xd9/0x1c0  deactivate_locked_super+0xa3/0x100  vfs_get_super+0x105/0x140  vfs_get_tree+0x8e/0x300  do_new_mount+0x28c/0x580  [...] ==================================================================  Following is the process that triggers the issue:          mount failed         |         daemon exit ------------------------------------------------------------  deactivate_locked_super        cachefiles_daemon_release   erofs_kill_sb    erofs_fscache_unregister_fs     fscache_relinquish_volume      __fscache_relinquish_volume       fscache_put_volume(fscache_volume, fscache_volume_put_relinquish)        zero = __refcount_dec_and_test(&fscache_volume-\u003eref, &ref);                                  cachefiles_put_unbind_pincount                                   cachefiles_daemon_unbind                                    cachefiles_withdraw_cache                                     cachefiles_withdraw_volumes                                      list_del_init(&volume-\u003ecache_link)        fscache_free_volume(fscache_volume)         cache-\u003eops-\u003efree_volume          cachefiles_free_volume           list_del_init(&cachefiles_volume-\u003ecache_link);         kfree(fscache_volume)                                      cachefiles_withdraw_volume                                       fscache_withdraw_volume                                        fscache_volume-\u003en_accesses                                        // fscache_volume UAF !!!  The fscache_volume in cache-\u003evolumes must not have been freed yet, but its reference count may be 0. So use the new fscache_try_get_volume() helper function try to get its reference count.  If the reference count of fscache_volume is 0, fscache_put_volume() is freeing it, so wait for it to be removed from cache-\u003evolumes.  If its reference count is not 0, call cachefiles_withdraw_volume() with reference count protection to avoid the above issue.","modified":"2026-09-15T09:02:57.603452853Z","published":"2024-07-29T15:15:13.847Z","upstream":["CVE-2024-41058"],"references":[{"type":"ADVISORY","url":"https://security-tracker.debian.org/tracker/CVE-2024-41058"}],"affected":[{"package":{"name":"linux","ecosystem":"Debian:12","purl":"pkg:deb/debian/linux?arch=source&distro=bookworm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.1.106-1"}]}],"versions":["6.1.27-1","6.1.37-1","6.1.38-1","6.1.38-2","6.1.38-2~bpo11+1","6.1.38-3","6.1.38-4","6.1.38-4~bpo11+1","6.1.52-1","6.1.55-1","6.1.55-1~bpo11+1","6.1.64-1","6.1.66-1","6.1.67-1","6.1.69-1","6.1.69-1~bpo11+1","6.1.76-1","6.1.76-1~bpo11+1","6.1.82-1","6.1.85-1","6.1.90-1","6.1.90-1~bpo11+1","6.1.94-1","6.1.94-1~bpo11+1","6.1.98-1","6.1.99-1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2024-41058.json"}},{"package":{"name":"linux","ecosystem":"Debian:13","purl":"pkg:deb/debian/linux?arch=source&distro=trixie"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.9.11-1"}]}],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2024-41058.json"}},{"package":{"name":"linux","ecosystem":"Debian:14","purl":"pkg:deb/debian/linux?arch=source&distro=forky"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.9.11-1"}]}],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2024-41058.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}