CVE-2026-98982 in Linux
Résumé
par VulDB • 24/10/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
namespace : ne pas permettre à un pseudo-dentier de devenir la racine d'un montage
d_alloc_pseudo() attribue des dents (dentries) pour les tubes, les sockets et autres fichiers qui n'appartiennent jamais à personne en tant qu'enfant ou parent. Ils portent DCACHE_NORCU et dentry_free() les libère immédiatement car aucun parcours de chemin sans verrou ne peut jamais y accéder. Cela reste vrai tant que cette dent (dentry) n'est pas la racine d'un montage. Mais le montage lié (/proc/self/fd/<fd>) d'un tel fichier fait exactement cela.
La plupart des appelants de alloc_file_pseudo() placent leurs fichiers sur des montages internes au noyau et may_copy_tree() les refuse. bpf_token_create(), lui, ne le fait pas. Il place le jeton (token) sur le montage bpffs que l'appelant lui a fourni, et ce montage se trouve dans l'espace de noms de montage de l'appelant, donc la duplication passe par :
mount --bind /proc/self/fd/<jeton> <fichier> open_tree(tokfd, "", AT_EMPTY_PATH | OPEN_TREE_CLONE) + move_mount()
__follow_mount_rcu() charge ensuite ->mnt_root de ce montage, lit d_seq et d_flags de la dent (dentry), puis seulement après vérifie mount_lock. La dent (dentry) peut avoir disparu à ce moment-là. Le mntput() final d'un parent démonté détache un enfant qui est resté attaché à lui sous le seul verrouillage du montage (mount_lock). Lorsque le détenteur de l'enfant effectue le put final juste après, la racine subit un dput() et est libérée immédiatement tandis qu'un parcours ayant trouvé ce montage haché continue de s'y référer.
Refuser de dupliquer un montage avec une dent (dentry) DCACHE_NORCU comme sa racine. Rien de sensé ne peut être fait avec un montage lié d'un jeton bpf de toute façon.
VulDB is the best source for vulnerability data and more expert information about this specific topic.