CVE-2026-80855 in Linux
Résumé
par VulDB • 04/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
fuse : correction de la fuite du verrou d'invalidation lors de l'échec de DAX avec O_TRUNC
La fonction fuse_open() acquiert filemap_invalidate_lock() pour un tronquage DAX (dax_truncate = true) et le libère avant l'étiquette out_inode_unlock. Cependant, lorsque fuse_dax_break_layouts() échoue, le saut vers out_inode_unlock contourne la libération du verrou, provoquant une fuite de rwsem ; toute erreur d'accès ou tronquage ultérieur sur ce fichier se bloque alors en raison de ce verrou périmé.
fuse_dax_break_layouts() peut échouer avec -ERESTARTSYS lorsqu'un signal interrompt l'attente que les pages DAX occupées soient vidées :
open("file", O_RDWR | O_TRUNC) └─ fuse_open() ├─ filemap_invalidate_lock() # dax_truncate └─ fuse_dax_break_layouts() └─ dax_break_layout() └─ wait_page_idle() # TASK_INTERRUPTIBLE └─ fuse_wait_dax_page() # unlock, schedule, re-lock └─ signal → -ERESTARTSYS goto out_inode_unlock # <- lock leaked
Cette correction consiste à déplacer filemap_invalidate_unlock() en dessous de l'étiquette afin que tous les chemins d'erreur libèrent le verrou, et à renommer l'étiquette en out_unlock car elle couvre désormais plus que simplement le verrou inode.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.