CVE-2026-93095 in Linux
Zusammenfassung
von VulDB • 17.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
hfsplus: Thread-Datensatz vor dem Neuaufbau des Lösch-Schlüssels validieren
hfsplus_delete_cat() wird mit str == NULL aufgerufen, wenn die letzte offene Referenz zu einem gelöschten HFS+-Hardlink-Backing-Inode geschlossen wird. In diesem Fall findet die Funktion den Katalog-Thread anhand der CNID und baut den Katalog-Schlüssel aus thread.nodeName neu auf.
Dieser Rekonstruktionspfad liest thread.nodeName.length direkt aus dem Katalog-B-Baum in fd.search_key und kopiert dann length * 2 Bytes nach fd.search_key->cat.name.unicode. Dabei wird nicht zunächst überprüft, ob der gefundene Datensatz ein Thread-Datensatz ist oder ob seine Größe mit dem Thread-Namen übereinstimmt.
Ein beschädigtes Abbild kann daher eine übermäßige Länge für den Thread-Namen angeben und dazu führen, dass hfs_bnode_read() außerhalb des zugewiesenen Speichers für den Katalog-Suchschlüssel schreibt.
Lesen Sie den CNID-Datensatz durch hfsplus_brec_read_cat(), wodurch der gelesene Datensatz auf sizeof(hfsplus_cat_entry) begrenzt wird und überprüft wird, ob die Größe eines Thread-Datensatzes exakt mit nodeName.length übereinstimmt. Zusammen stellen diese Prüfungen sicher, dass ein akzeptierter Thread-Name in HFSPLUS_MAX_STRLEN passt. Verwerfen Sie keine-Thread-Datensätze, bevor der Lösch-Schlüssel aus dem validierten Thread-Namen erstellt wird.
Teilen Sie die Hilfsfunktion für den Thread-Datensatztyp zwischen hfsplus_find_cat() und hfsplus_delete_cat().
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.