CVE-2024-42105 in Linux
Zusammenfassung
von VulDB • 25.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
nilfs2: Korrektur der Bereichsprüfung für Inode-Nummern
Patch-Serie „nilfs2: Behebung potenzieller Probleme im Zusammenhang mit reservierten Inodes“
Diese Serie behebt ein Use-After-Free-Problem, das von syzbot gemeldet wurde und dadurch verursacht wurde, dass interne Inodes von nilfs2 in einem beschädigten Dateisystem im Namespace freigegeben wurden, sowie mehrere Fehler, die Probleme verursachen, wenn die Startnummer der nicht-reservierten Inodes, die im On-Disk-Superblock gespeichert ist, absichtlich (oder durch Beschädigung) von ihrem Standardwert geändert wird.
Dieser Patch (von 3):
In der aktuellen Implementierung von nilfs2 wird „nilfs->ns_first_ino“, das die erste nicht-reservierte Inode-Nummer angibt, aus dem Superblock gelesen, jedoch wird seine untere Grenze nicht überprüft.
Als Ergebnis funktionieren die Inode-Nummern-Testmakros (NILFS_MDT_INODE und NILFS_VALID_INODE) nicht ordnungsgemäß, wenn im Superblock-Parameter eine Zahl festgelegt wird, die mit dem Inode-Nummernbereich reservierter Inodes wie dem Wurzelverzeichnis oder Metadatendateien überschneidet.
Darüber hinaus verwenden diese Testmakros Links-Shift-Berechnungen unter Verwendung der Inode-Nummer als Shift-Zähler über das BIT-Makro. Das Ergebnis einer Shift-Berechnung, die die Bitbreite eines Integer-Werts überschreitet, ist in der C-Spezifikation undefiniert. Daher können die Makros potenziell fehlerhaft funktionieren, wenn „ns_first_ino“ auf einen großen Wert ungleich dem Standardwert NILFS_USER_INO (=11) festgelegt wird.
Diese Probleme werden behoben, indem die untere Grenze von „nilfs->ns_first_ino“ überprüft und Shift-Operationen, die größer oder gleich der Konstante NILFS_USER_INO sind, in den Inode-Nummern-Testmakros verhindert werden.
Außerdem wird der Typ von „ns_first_ino“ von signed integer (vorzeichenbehaftete Ganzzahl) in unsigned integer (vorzeichenlose Ganzzahl) geändert, um die Notwendigkeit von Typumwandlungen bei Vergleichen wie der diesmal eingeführten unteren Grenzüberprüfung zu vermeiden.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.