{"id":"DEBIAN-CVE-2024-39510","details":"In the Linux kernel, the following vulnerability has been resolved:  cachefiles: fix slab-use-after-free in cachefiles_ondemand_daemon_read()  We got the following issue in a fuzz test of randomly issuing the restore command:  ================================================================== BUG: KASAN: slab-use-after-free in cachefiles_ondemand_daemon_read+0xb41/0xb60 Read of size 8 at addr ffff888122e84088 by task ondemand-04-dae/963  CPU: 13 PID: 963 Comm: ondemand-04-dae Not tainted 6.8.0-dirty #564 Call Trace:  kasan_report+0x93/0xc0  cachefiles_ondemand_daemon_read+0xb41/0xb60  vfs_read+0x169/0xb50  ksys_read+0xf5/0x1e0  Allocated by task 116:  kmem_cache_alloc+0x140/0x3a0  cachefiles_lookup_cookie+0x140/0xcd0  fscache_cookie_state_machine+0x43c/0x1230  [...]  Freed by task 792:  kmem_cache_free+0xfe/0x390  cachefiles_put_object+0x241/0x480  fscache_cookie_state_machine+0x5c8/0x1230  [...] ==================================================================  Following is the process that triggers the issue:       mount  |   daemon_thread1    |    daemon_thread2 ------------------------------------------------------------ cachefiles_withdraw_cookie  cachefiles_ondemand_clean_object(object)   cachefiles_ondemand_send_req    REQ_A = kzalloc(sizeof(*req) + data_len)    wait_for_completion(&REQ_A-\u003edone)              cachefiles_daemon_read              cachefiles_ondemand_daemon_read               REQ_A = cachefiles_ondemand_select_req               msg-\u003eobject_id = req-\u003eobject-\u003eondemand-\u003eondemand_id                                   ------ restore ------                                   cachefiles_ondemand_restore                                   xas_for_each(&xas, req, ULONG_MAX)                                    xas_set_mark(&xas, CACHEFILES_REQ_NEW)                                    cachefiles_daemon_read                                    cachefiles_ondemand_daemon_read                                     REQ_A = cachefiles_ondemand_select_req               copy_to_user(_buffer, msg, n)                xa_erase(&cache-\u003ereqs, id)                complete(&REQ_A-\u003edone)               ------ close(fd) ------               cachefiles_ondemand_fd_release                cachefiles_put_object  cachefiles_put_object   kmem_cache_free(cachefiles_object_jar, object)                                     REQ_A-\u003eobject-\u003eondemand-\u003eondemand_id                                      // object UAF !!!  When we see the request within xa_lock, req-\u003eobject must not have been freed yet, so grab the reference count of object before xa_unlock to avoid the above issue.","modified":"2026-09-15T09:03:09.309605799Z","published":"2024-07-12T13:15:13.283Z","upstream":["CVE-2024-39510"],"references":[{"type":"ADVISORY","url":"https://security-tracker.debian.org/tracker/CVE-2024-39510"}],"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.99-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"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2024-39510.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.7-1"}]}],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2024-39510.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.7-1"}]}],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2024-39510.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"}]}