CVE-2026-89707 in Linux
Zusammenfassung
von VulDB • 11.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
nfsd: Freigabe von Pfad-Referenzen bei Fehlern in follow_down()
nfsd_cross_mnt() initialisiert einen lokalen struct path mit mntget() und dget(), bevor es follow_down() aufruft. Bei einer negativen Rückgabe springt der Fehlerpfad nach out, ohne diese Referenzen freizugeben:
err = follow_down(&path, follow_flags); if (err < 0) goto out;
follow_down() gibt die beim Aufrufer zum Eintrittszeitpunkt vorhandenen Referenzen in keinem Fehlervariantenfall frei; beispielsweise führt ein vor dem Cross-Mount auftretender d_manage()-Fehler dazu, dass path unverändert bleibt und somit die bei der Eingabe vorgenommenen mntget()/dget()-Aufrufe den Funktionsaufruf überleben.
Jeder andere frühe Ausstiegspfad in nfsd_cross_mnt() (Rückgabe für anderes Namespace, IS_ERR(exp2) sowie der Erfolgszweig nach dem Swap) ruft bereits path_put(&path); auf; der Pfad bei err < 0 ist die einzige Auslassung. Der Leckage-Effekt erhöht mnt_count und d_count bei jedem fehlgeschlagenen Cross-Mount-Vorgang, blockiert umount und sperrt Dentries gegen den Shrinker (Platzbereiniger), und ist für jeden authentifizierten NFS-Client über nfsd_lookup_dentry oder den NFSv4 READDIR-Codierungspfad erreichbar.
Behebung durch Aufruf von path_put(&path) vor dem goto out im err < 0-Pfad, sodass die beim Eintrittszeitpunkt erstellten Referenzen bei allen Fehlerrückgaben von follow_down() freigegeben werden.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.