
🔴 CVE-2025-40271: Kritische Use-After-Free-Schwachstelle im Linux-Kernel
Das CVE-2025-40271 ist eine kritische Use-After-Free-Schwachstelle (UAF), die das /proc-Dateisystem des Linux-Kernels betrifft. Der Fehler liegt in der Funktion proc_readdir_de(), die für die Auflistung der Verzeichnisinhalte innerhalb von /proc zuständig ist.
Wenn ein Verzeichniseintrag (PDE) über rb_erase() aus dem Binärbaum (rbtree) entfernt wird, markierte der Kernel den Knoten nicht als leer. Dies erzeugt ein gefährliches Szenario:
/proc/pid/net/dev_snmp6/), während ein anderer Netzwerkschnittstellen entfernt (wie tun-Geräte), kann der Zeiger auf bereits freigegebenen Speicher zeigen.Das Kernel-Entwicklungsteam hat einen kritischen Patch implementiert, der die Behandlung des Knotens durch RB_CLEAR_NODE() ersetzt. Dies gewährleistet:
NULL zurückgibt statt eines Zeigers auf freigegebenen Speicher.Der Patch ist bereits in den folgenden stabilen Zweigen verfügbar:
Um den genauen Code des Patches zu prüfen, sieh dir diese Commits an:
"Im Linux-Kernel wurde die folgende Schwachstelle behoben: fs/proc: fix uaf in proc_readdir_de(). Der PDE wird über
rb_erase()aus dem Subdir-rbtree entfernt, aber der Knoten wird nicht auf EMPTY gesetzt, was zu einem UAF-Zugriff führen kann. Wir solltenRB_CLEAR_NODE()verwenden, um den entfernten Knoten auf EMPTY zu setzen; dann gibtpde_subdir_next()NULLzurück, um UAF-Zugriffe zu vermeiden."
getdent, um /proc/pid/net/dev_snmp6/ zu durchlaufen (der aktuelle Zeiger ist tun3).tun3 und tun2) abgemeldet und aus dem Baum entfernt.
tun3 entfernt, dann tun2 (in den Slab freigegeben).getdent fort, aber pde_subdir_next() gibt tun2 (bereits freigegeben) zurück, was eine UAF verursacht.| CWE-ID | Name | Quelle |
|---|---|---|
| CWE-416 | Use After Free | NVD |
| URL | Beschreibung |
|---|---|
| NVD - CVE-2025-40271 | Offizielle Details (noch ohne CVSS-Score) |
| Kernel.org Commits | Quellcode der Patches |
⚠️ Abschließende Empfehlung:
Wenn du Kernel-Versionen 6.1.x, 6.6.x, 6.12.x oder 6.13.x verwendest, aktualisiere sofort auf eine gepatchte Version. Falls das nicht möglich ist, erwäge, die Commits manuell anzuwenden oder den Zugriff auf /proc über Sicherheitsrichtlinien einzuschränken (z. B. chroot, SELinux).
| Feld | Detail |
|---|
| ID | CVE-2025-40271 |
| Komponente | Linux-Kernel (fs/proc) |
| Schweregrad | Hoch (vom NVD/NIST noch nicht offiziell eingestuft) |
| Ursprung | Erkannt mit stress-ng (gleichzeitige getdent- und tun-Fälle) |
| NVD-Status | Nicht priorisiert für die Anreicherung (begrenzte Ressourcen) |