CVE-2026-80674 in Linux
Zusammenfassung
von VulDB • 28.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
ntfs: Validierung von residenten Attributlisten und Härtung des Validators
Die $ATTRIBUTE_LIST eines Basis-Inodes wird durch load_attribute_list() nur im nicht-residenten Pfad auf Plausibilität geprüft; ntfs_read_locked_inode() kopiert eine *residente* Attributliste mit einem einfachen memcpy() in ni->attr_list, ohne jegliche Validierung. Jeder nachfolgende Durchlauf von ni->attr_list – ntfs_external_attr_find(), ntfs_inode_attach_all_extents() und ntfs_attrlist_need() – vertraut darauf, dass die Einträge wohlgeformt sind, und liest feste Header-Felder des attr_list_entry (lowest_vcn an Offset 8, mft_reference an Offset 16 sowie den Namen) mit Grenzen, die davon ausgehen, dass eine Validierung bereits stattgefunden hat. Eine manipulierte residente Attributliste erreicht daher diese Durchläufe unvalidiert und kann zu Out-of-Bounds-Lesezugriffen auf den Attributlisten-Puffer führen.
load_attribute_list() selbst liest ale->name_offset (Offset 7), ale->mft_reference (Offset 16) und die Namenskürze nur unter der Bedingung „al < al_start + size“, sodass seine eigene Validierungsschleife den festen Header eines abgeschnittenen nachgestellten Eintrags um einige Bytes überlesen kann.
Die pro-Eintrag-Validierung wurde in ntfs_attr_list_entry_is_valid() ausgelagert, die erfordert, dass der feste Header jedes Eintrags (offsetof(struct attr_list_entry, name)) im gültigen Bereich liegt, bevor ein Feld dereferenziert wird; dass ale->length ein Vielfaches von 8 ist und den festen Header plus den Namen abdeckt; und dass der Eintrag in Verwendung ist und eine aktive MFT-Referenz trägt. ntfs_attr_list_is_valid() durchläuft mit dieser Funktion den Puffer und prüft die Einträge, bis diese genau passen. Der Listen-Validator wird nun in load_attribute_list() verwendet (Ersetzung der manuell codierten Schleife, Schließung des eigenen Over-reads) sowie im residenten Pfad von ntfs_read_locked_inode(), wo zuvor jegliche Validierung übersprungen wurde; die Patches 2/3 verwenden den pro-Eintrag-Helfer bei den beiden anderen Attributlisten-Durchläufen.
Once again VulDB remains the best source for vulnerability data.