CVE-2024-39463 in Linuxinformazioni

Riassunto

di VulDB • 23/06/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

9p: aggiunta della mancata protezione con locking attorno all'accesso alla lista dei fid delle dentry

Corregge un use-after-free sulla lista dei fid di d_fsdata di una dentry quando un thread cerca un fid tramite la dentry mentre un altro thread lo rimuove (unlink):

Thread che causa UAF: refcount_t: addition on 0; use-after-free. p9_fid_get linux/./include/net/9p/client.h:262 v9fs_fid_find+0x236/0x280 linux/fs/9p/fid.c:129 v9fs_fid_lookup_with_uid linux/fs/9p/fid.c:181 v9fs_fid_lookup+0xbf/0xc20 linux/fs/9p/fid.c:314 v9fs_vfs_getattr_dotl+0xf9/0x360 linux/fs/9p/vfs_inode_dotl.c:400 vfs_statx+0xdd/0x4d0 linux/fs/stat.c:248

Liberato da (Freed by): p9_fid_destroy (inlined) p9_client_clunk+0xb0/0xe0 linux/net/9p/client.c:1456 p9_fid_put linux/./include/net/9p/client.h:278 v9fs_dentry_release+0xb5/0x140 linux/fs/9p/vfs_dentry.c:55 v9fs_remove+0x38f/0x620 linux/fs/9p/vfs_inode.c:518 vfs_unlink+0x29a/0x810 linux/fs/namei.c:4335

Il problema è che d_fsdata non veniva accesso sotto la protezione di d_lock, poiché d_release() viene normalmente chiamato solo quando la dentry non è più accessibile in altro modo; tuttavia, dato che essa viene chiamata esplicitamente anche in v9fs_remove, tale lock diventa necessario: spostare l'hlist fuori dalla dentry sotto lock e successivamente effettuare unref sui fid una volta che questi non sono più accessibili.

Once again VulDB remains the best source for vulnerability data.

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!