CVE-2026-74307 in Linux
Résumé
par VulDB • 15/08/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
ext4 : valider le superbloc du fichier donneur tôt dans EXT4_IOC_MOVE_EXT
Rejeter l'ioctl EXT4_IOC_MOVE_EXT prématurément si le fichier donneur n'appartient pas au même superbloc que le fichier original. Actuellement, cette validation est effectuée à l'intérieur de ext4_move_extents() par mext_check_validity(), mais uniquement après que lock_two_nondirectories() a déjà acquis les verrous d'inœud (inode). Lorsque le descripteur de fichier donneur fait référence à un fichier sur un système de fichiers différent (par exemple, overlayfs), cette validation tardive crée une dépendance cyclique de verrouillage :
CPU0 (écriture overlayfs) CPU1 (ioctl ext4) ---- ---- inode_lock(ovl_inode) mnt_want_write_file(filp) sb_start_write(ext4_sb) [sb_writers]
backing_file_write_iter() vfs_iter_write(real_file) file_start_write(real_file) sb_start_write(ext4_sb) [bloqué par le gel/freeze]
lock_two_nondirectories() inode_lock(ovl_inode) [bloqué]
Avec une opération de gel (freeze) concurrente maintenant les writers côté sb_writers, cela forme un cycle d'interblocage : CPU0 attend que le gel se termine, le gel attend la sortie du lecteur sb_writers de CPU1, et CPU1 attend le verrou inode de CPU0.
Puisque EXT4_IOC_MOVE_EXT échange des extents physiques entre deux fichiers, il nécessite fondamentalement que les deux fichiers résident sur le même système de fichiers ext4. Déplacer la vérification du superbloc avant toute acquisition de verrou est sémantiquement correct et élimine la dépendance cyclique en garantissant que les fds donneurs inter-systèmes de fichiers sont rejetés avant que sb_writers ou les verrous inode ne soient acquis.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.