Executive brief
The Linux kernel's fuse filesystem module contains a logic error in how it invalidates cached file data after append-mode writes. When applications write to files opened in append mode using direct I/O, stale cached data may remain in memory and be returned to readers, causing applications to see outdated file contents instead of recently written data.
Technical details
The vulnerability is a logic error in fuse_direct_write_iter() where the file position is captured before generic_write_checks() adjusts it for O_APPEND mode writes. This causes the post-write cache invalidation to target the wrong range—the user-supplied position instead of the actual EOF where data was written. The issue manifests as data inconsistency when file size is not page-aligned: concurrent readers can fault in stale tail pages during the write window, then continue reading stale data after the write completes. The fix involves reading the corrected position from iocb->ki_pos after generic_write_checks(), matching the pattern used in generic_file_direct_write().
Affected products
- Linux Linux kernel affected versions not specified
Timeline
- 2026-09-17: disclosed