CVE-2024-39463 in Linuxinformação

Sumário

de VulDB • 05/06/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

9p: adicionar bloqueio (locking) ausente ao redor da lista de fid dos dentries

Corrigir um use-after-free na lista de fid d_fsdata do dentry quando uma thread procura um fid através do dentry enquanto outra thread o remove (unlink):

Thread que causa UAF: refcount_t: adição em 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

Liberado por (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

O problema é que d_fsdata não foi acessado sob d_lock, porque d_release() normalmente só é chamado quando o dentry já não está mais acessível por outros meios; mas como também chamamos explicitamente em v9fs_remove, esse bloqueio é necessário: mover a hlist para fora do dentry sob lock e depois desreferenciar (unref) seus fids assim que eles deixarem de ser acessíveis.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Divulgação

25/06/2024

Moderação

aceite

Entrada

VDB-269651

CPE

pronto

EPSS

0.00253

KEV

não

Atividades

muito baixo

Fontes

Do you need the next level of professionalism?

Upgrade your account now!