CVE-2025-40271
fs/proc: correzione di uaf in proc_readdir_de()
- Pubblicato
- 6 dic 2025
- Aggiornato
- 5 ago 2026
- Assegnazione CNA
- Linux
- Evidenza osservata
- 4 mag 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HBasso · prossimi 30 giorni
- Percentile
- 38,7%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
Nel kernel Linux è stata risolta la seguente vulnerabilità: fs/proc: fix uaf in proc_readdir_de() Pde viene rimosso dall'rbtree di subdir tramite rb_erase(), ma il nodo non viene impostato a EMPTY, il che può causare un accesso uaf. Dovremmo usare RB_CLEAR_NODE() per impostare il nodo rimosso a EMPTY, così pde_subdir_next() restituirà NULL per evitare l'accesso uaf. Abbiamo riscontrato un problema di uaf durante i test con stress-ng; è necessario eseguire il testcase getdent e tun contemporaneamente. I passaggi del problema sono i seguenti: 1) usare getdent per attraversare la directory /proc/pid/net/dev_snmp6/, e il pde corrente è tun3; 2) nella [finestra temporale] deregistrare i netdevice tun3 e tun2, e rimuoverli dall'rbtree. Rimuovere prima tun3 e poi tun2. Il pde(tun2) verrà rilasciato nello slab; 3) continuare il processo getdent, quindi pde_subdir_next() restituirà pde(tun2) che è stato rilasciato, causando un accesso 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)
Fonti
3- CVE-2025-40271Ricerca
Analisi tecnica di CVE-2025-40271, una vulnerabilità critica di tipo Use-After-Free nel filesystem /proc del kernel Linux, inclusa la causa principale, i passi di riproduzione e i dettagli della patch.
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.