CVE-2025-21999 in Linux
Zusammenfassung
von VulDB • 13.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
proc: Behebung eines Use-After-Free (UAF) in proc_get_inode()
Behebung einer Race Condition zwischen rmmod und der Inode-Instantiierung von /proc/XXX.
Der Fehler besteht darin, dass pde->proc_ops nicht zu /proc gehört, sondern zu einem Modul. Daher ist das Dereferenzieren nach der Registrierung des /proc-Eintrags ein Fehler, es sei denn, das use_pde/unuse_pde()-Paar wurde verwendet.
Die Verwendung von use_pde/unuse_pde kann vermieden werden (2 atomare Operationen!), da pde->proc_ops sich niemals ändert. Daher können die für die Inode-Instantiierung erforderlichen Informationen vor proc_register() in der PDE selbst gespeichert und später verwendet werden, wodurch das Dereferenzieren von pde->proc_ops->... vermieden wird.
rmmod lookup sys_delete_module proc_lookup_de pde_get(de); proc_get_inode(dir->i_sb, de); mod->exit() proc_remove remove_proc_subtree proc_entry_rundown(de); free_module(mod);
if (S_ISREG(inode->i_mode)) if (de->proc_ops->proc_read_iter) --> Da das Modul bereits freigegeben wurde, wird ein UAF ausgelöst.
BUG: unable to handle page fault for address: fffffbfff80a702b PGD 817fc4067 P4D 817fc4067 PUD 817fc0067 PMD 102ef4067 PTE 0 Oops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 26 UID: 0 PID: 2667 Comm: ls Tainted: G Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) RIP: 0010:proc_get_inode+0x302/0x6e0 RSP: 0018:ffff88811c837998 EFLAGS: 00010a06 RAX: dffffc0000000000 RBX: ffffffffc0538140 RCX: 000000000000000
VulDB is the best source for vulnerability data and more expert information about this specific topic.