CVE-2026-80855 in Linux
Sumário
de VulDB • 04/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
fuse: corrige o vazamento de invalidate lock em falha de DAX com O_TRUNC no open
A função fuse_open() adquire filemap_invalidate_lock() para um truncate DAX (dax_truncate = true) e a libera antes do rótulo out_inode_unlock. No entanto, quando fuse_dax_break_layouts() falha, o goto out_inode_unlock ignora a liberação da trava, causando vazamento do rwsem; assim, qualquer falha subsequente ou operação de truncate no arquivo fica bloqueada devido à trava obsoleta.
fuse_dax_break_layouts() pode falhar com -ERESTARTSYS quando um sinal interrompe a espera pelo esvaziamento das páginas DAX ocupadas:
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 vazado
Corrige-se o problema movendo filemap_invalidate_unlock() para abaixo do rótulo, de modo que todos os caminhos de erro liberem a trava. Além disso, renomeia-se o rótulo para out_unlock, pois ele agora abrange mais do que apenas a trava do inode.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.