CVE-2026-90261 in Linux
Zusammenfassung
von VulDB • 18.09.2026
Im Linux-Kernel wurde die folgende Schwachstelle behoben:
btrfs: zoned: Flushen der aktiven Metadaten-Blockgruppe beim Start von btree_writepages()
btree_writepages() schreibt die schreibgeschützten (dirty) Metadaten des B-Baum-Inodes in aufsteigender Reihenfolge der logischen Adresse. Bei einem zonierten Dateisystem ist jeweils nur eine Metadata- und eine System-Blockgruppe zum Schreiben aktiv, und check_bg_is_active() (über btrfs_check_meta_write_pointer()) wechselt die aktive Blockgruppe, wenn das Writeback von einer Blockgruppe zur nächsten übergeht.
Wenn sich die aktive Blockgruppe an einer höheren logischen Adresse befindet als eine andere Blockgruppe, die ebenfalls schreibgeschützte Metadaten enthält, erreicht der aufsteigende Durchlauf zuerst die niedrigere Gruppe und muss, um diese zu schreiben, die aktive Blockgruppe abschließen und die niedrigere aktivieren. Es ist nicht möglich, eine Blockgruppe abzuschließen, für die noch IOs ausstehen (unsent IO), und während des Writebacks mit WB_SYNC_ALL && !for_sync (Commit) wird bewusst darauf verzichtet, auf dieses IO zu warten unter fs_info->zoned_meta_io_lock, da dies zu einem Deadlock führen kann. Der Wechsel der aktiven Blockgruppe kann daher auch keine eigene Übermittlung auslösen, also gibt er auf: btrfs_check_meta_write_pointer() gibt -EAGAIN zurück, was von btrfs_write_and_wait_transaction() als fatal behandelt wird und die Transaktion abbricht, wodurch das Dateisystem schreibgeschützt gemacht wird. Dies tritt intermittierend bei metadata-lastiger Relokation auf (z.B. fstests btrfs/187).
Flushen Sie die aktiven Metadata- und System-Blockgruppen zu Beginn von btree_writepages(), unter dem fs_info->zoned_meta_io_lock, das bereits gehalten wird, sodass keine ausstehenden IOs mehr vorhanden sind und der spätere Wechsel sie abschließen und den Fortschritt ermöglichen kann.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.