CVE-2025-40271
fs/proc: corriger l'UAF dans proc_readdir_de()
- Publié
- 6 déc. 2025
- Mise à jour
- 5 août 2026
- Attribution de CNA
- Linux
- Preuve observée
- 4 mai 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HFaible · 30 prochains jours
- Percentile
- 38,7 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
Dans le noyau Linux, la vulnérabilité suivante a été corrigée : fs/proc: corrige une UAF dans proc_readdir_de(). Pde est supprimé du rbtree des sous-répertoires via rb_erase(), mais le nœud n'est pas défini sur EMPTY, ce qui peut entraîner un accès UAF. Nous devrions utiliser RB_CLEAR_NODE() pour définir le nœud supprimé sur EMPTY, puis pde_subdir_next() retournera NULL pour éviter un accès UAF. Nous avons trouvé un problème d'UAF lors des tests avec stress-ng ; il faut exécuter les cas de test getdent et tun en même temps. Les étapes du problème sont les suivantes : 1) utiliser getdent pour parcourir le répertoire /proc/pid/net/dev_snmp6/, et le pde courant est tun3 ; 2) dans la [fenêtre temporelle], désenregistrer les netdevices tun3 et tun2, et les supprimer du rbtree. Supprimer d'abord tun3, puis tun2. le pde(tun2) sera libéré dans le slab ; 3) continuer le processus getdent, puis pde_subdir_next() retournera pde(tun2) qui est libéré, cela causera un accès UAF. CPU 0 | CPU 1 ------------------------------------------------------------------------- traverse dir /proc/pid/net/dev_snmp6/ | unregister_netdevice(tun->dev) //tun3 tun2 sys_getdents64() | iterate_dir() proc_readdir() | proc_readdir_de() | snmp6_unregister_dev() pde_get(de); | proc_remove() read_unlock(&proc_subdir_lock); | remove_proc_subtree() | write_lock(&proc_subdir_lock); [time window] | rb_erase(&root->subdir_node, &parent->subdir); | write_unlock(&proc_subdir_lock); read_lock(&proc_subdir_lock); | next = pde_subdir_next(de); | pde_put(de); | de = next; //UAF | rbtree of dev_snmp6 | pde(tun3) / \ NULL pde(tun2)
Sources
3- CVE-2025-40271Recherche
Analyse technique de CVE-2025-40271, une vulnérabilité critique de type Use-After-Free dans le système de fichiers /proc du noyau Linux, incluant la cause racine, les étapes de reproduction et les détails du correctif.
Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.