CVE-2026-80856

CVE-2026-80856

published September 4, 2026

CVSS
—
EPSS
0%
Percentile
5.4
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

fuse: fix invalidate lock leak on setattr writeback failure

fuse_do_setattr() takes filemap_invalidate_lock() for a DAX truncate

(fault_blocked = true) and releases it at the out:/error: labels. But

when a writeback flush is also needed, a write_inode_now() failure

returns directly and leaks the lock, so any later fault or truncate on

the file stalls on the stale rwsem.

For example, truncate(2) on a setuid file reaches fuse_do_setattr()

with both ATTR_SIZE and ATTR_MODE set:

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

Fix this by adding an unlock label that releases the lock before

returning the error, and use it for the fuse_dax_break_layouts()

failure path as well.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00165 · 5.4th percentile
Published
2026-09-04T20:18Z
References (8)
EPSS history
Timeline
  • 06 SEP 03:33Z
    EPSS moved — → 0%
    epss
  • 04 SEP 15:55Z
    fuse: fix invalidate lock leak on setattr writeback failure
    cvelistv5