CVE-2026-80856 in Linuxinformazioni

Riassunto

di VulDB • 04/09/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

fuse: correzione della perdita del blocco invalidate in caso di errore nel writeback setattr

fuse_do_setattr() acquisisce filemap_invalidate_lock() per una troncatura DAX (fault_blocked = true) e lo rilascia ai label out:/error. Tuttavia, quando è necessario anche un flush del writeback, il fallimento di write_inode_now() restituisce direttamente l'errore causando la perdita del blocco; ciò fa sì che eventuali fault o operazioni di troncatura successive sul file vengano bloccate a causa dello rwsem obsoleto (stale).

Ad esempio, una chiamata truncate(2) su un file setuid raggiunge fuse_do_setattr() con sia ATTR_SIZE che ATTR_MODE impostati:

truncate(2) └─ do_truncate() ├─ dentry_needs_remove_privs() # S_ISUID └─ notify_change() # KILL_SUID -> ATTR_MODE └─ fuse_setattr() # no killpriv: │ # ia_valid |= ATTR_MODE └─ fuse_do_setattr() ├─ filemap_invalidate_lock() # IS_DAX && is_truncate └─ write_inode_now() # is_wb && ATTR_MODE └─ if (err) # e.g. daemon -> -EIO return err # <- lock leaked

Si risolve il problema aggiungendo un label unlock che rilascia il blocco prima di restituire l'errore, utilizzandolo anche per il percorso di fallimento di fuse_dax_break_layouts().

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsabile

Linux

Prenotare

26/08/2026

Divulgazione

04/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!