CVE-2026-64326 in Linux
Résumé
par VulDB • 25/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
block: ignorer sync_blockdev() lors d'un retrait inattendu dans bdev_mark_dead()
Le fait que @surprise soit vrai pour bdev_mark_dead() signifie que l'appareil est déjà absent. La fonction de rappel du système de fichiers fs_bdev_mark_dead() en tient compte et ignore sync_filesystem(), mais le chemin relatif au bloc nu (sans opération ->mark_dead) a perdu sa garde !surprise lorsque la fonction de rappel holder ->mark_dead a été connectée (voir Corrections), et appelle désormais sync_blockdev() sans condition, ce qui peut bloquer indéfiniment en attendant un retour d'écriture qui ne pourra plus s'achever.
syzkaller a déclenché cette situation via le chemin « I/O queues lost » de nvme_reset_work()' : nvme_mark_namespaces_dead() -> blk_mark_disk_dead() -> bdev_mark_dead(bdev, true) -> sync_blockdev() bloque dans folio_wait_writeback(), paralysant l'agent de réinitialisation et toutes les tâches en attente.
Ignorer la synchronisation lors d'un retrait inattendu, conformément à fs_bdev_mark_dead(); invalidate_bdev() s'exécute toujours. Le retrait ordonné (surprise == false) reste inchangé.
Découverte par FuzzNvme (Syzkaller avec le framework de fuzzing FEMU).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.