CVE-2025-40271
fs/proc: behebe uaf in proc_readdir_de()
- Veröffentlicht
- 06.12.2025
- Aktualisiert
- 05.08.2026
- CNA zuweisen
- Linux
- Beweise beobachtet
- 04.05.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNiedrig · nächste 30 Tage
- Perzentil
- 38,7 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
Im Linux-Kernel wurde die folgende Schwachstelle behoben: fs/proc: behebt UAF in proc_readdir_de(). Pde wird mittels rb_erase() aus dem subdir-rbtree entfernt, der Knoten wird jedoch nicht auf EMPTY gesetzt, was zu einem UAF-Zugriff führen kann. Wir sollten RB_CLEAR_NODE() verwenden, um den entfernten Knoten auf EMPTY zu setzen; dann gibt pde_subdir_next() NULL zurück, um einen UAF-Zugriff zu vermeiden. Wir haben ein UAF-Problem bei Tests mit stress-ng gefunden; dazu müssen die Testfälle getdent und tun gleichzeitig ausgeführt werden. Die Schritte des Problems sind wie folgt: 1) getdent verwenden, um das Verzeichnis /proc/pid/net/dev_snmp6/ zu durchlaufen; das aktuelle pde ist tun3; 2) im [Zeitfenster] die Netdevices tun3 und tun2 abmelden und sie aus dem rbtree entfernen. Zuerst tun3 entfernen, dann tun2 entfernen. Das pde(tun2) wird an den Slab freigegeben; 3) den getdent-Prozess fortsetzen; dann gibt pde_subdir_next() das freigegebene pde(tun2) zurück, was einen UAF-Zugriff verursacht. CPU 0 | CPU 1 ------------------------------------------------------------------------- Verzeichnis /proc/pid/net/dev_snmp6/ durchlaufen | 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); [Zeitfenster] | 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 von dev_snmp6 | pde(tun3) / \ NULL pde(tun2)
Quellen
3- CVE-2025-40271Forschung
Technische Analyse von CVE-2025-40271, einer kritischen Use-After-Free-Schwachstelle im /proc-Dateisystem des Linux-Kernels, einschließlich Ursachenanalyse, Reproduktionsschritten und Patch-Details.
Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.