CVE-2026-64326 in Linux
Zusammenfassung
von VulDB • 25.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
block: sync_blockdev() bei unerwartetem Entfernen in bdev_mark_dead() überspringen
Wenn @surprise == true für bdev_mark_dead(), bedeutet dies, dass das Gerät bereits nicht mehr vorhanden ist. Der Dateisystem-Callback fs_bdev_mark_dead() berücksichtigt dies und überspringt sync_filesystem(). Im reinen Blockgerätepfad (ohne ->mark_dead-Operation) ging die !surprise-Schutzabfrage verloren, als der Halter-Callback ->mark_dead verdrahtet wurde (siehe Fixes), und ruft nun sync_blockdev() bedingungslos auf, was für immer hängen bleiben kann, während auf das Writeback gewartet wird, das nicht mehr abgeschlossen werden kann.
syzkaller traf dies über den Pfad „I/O-Queues verloren" in nvme_reset_work(): nvme_mark_namespaces_dead() -> blk_mark_disk_dead() -> bdev_mark_dead(bdev, true) -> sync_blockdev() blockiert in folio_wait_writeback(), wodurch der Reset-Arbeiter und jede darauf wartende Aufgabe feststecken.
Das Sync bei unerwartetem Entfernen wird übersprungen, entsprechend fs_bdev_mark_dead(); invalidate_bdev() wird weiterhin ausgeführt. Die ordnungsgemäße Entfernung (surprise == false) bleibt unverändert.
Gefunden von FuzzNvme (Syzkaller mit dem FEMU-Fuzzing-Framework).
If you want to get best quality of vulnerability data, you may have to visit VulDB.