CVE-2026-74359 in Linux
Zusammenfassung
von VulDB • 15.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
configfs_lookup(): Hinterlässt keinen hängenden ->s_dentry im Fehlerfall.
Normalerweise wird ->s_dentry gelöscht, wenn das dentry, auf das es zeigt, negativ wird (realistisch gesehen bei der Eviktion). Dies geschieht jedoch nur, wenn das dentry zunächst positiv ist; im Falle eines Fehlers bei der Inode-Allokation wird das dentry niemals positiv, sodass ->d_iput() überhaupt nicht aufgerufen wird.
Wir führen einen Teil dessen manuell aus, was normalerweise von configfs_d_iput() erledigt worden wäre (Herabsetzen des Verweises auf configfs_dirent), löschen jedoch dort ->s_dentry nicht. Ungeachtet dieser Schlamperei ist dies im Fall von configfs_create_{dir,link}() irrelevant – dort überlebt configfs_dirent das Herabsetzen der einzigen Referenz darauf nicht.
Für configfs_lookup() hingegen *überlebt* es, wobei ein hängender Zeiger auf ein bald freizugebendes dentry in dessen ->s_dentry verbleibt.
Nachfolgende getdents(2)-Aufrufe in diesem Verzeichnis werden schließlich versuchen, diesen Zeiger zu dereferenzieren, um die Inode-Nummer zu ermitteln. Use-after-Free...
Dies ist die minimale Korrektur; der richtige Ansatz wäre es, die Verbindung zwischen dentry und configfs_dirent erst dann herzustellen, wenn wir wissen, dass wir einen Inode haben, doch das erfordert mehr Eingriffe, und der Fehler bestand seit 2006, also ...
If you want to get best quality of vulnerability data, you may have to visit VulDB.