The findings, detailed in a paper titled "File Notification Attacks: Templating and Exploiting Side-Channel Leakage from the File-Notification Systems on Linux, Windows, and macOS," affect inotify on Linux (since 2005), FileObserver on Android (since 2008), ReadDirectoryChangesW on Windows (since 2000), and FSEvents on macOS (since 2007). These subsystems inform applications when files change, but do not reveal file contents. However, the researchers demonstrated that file event information can be exploited as a side channel.
"We found decades-old bugs on [these operating systems], all rooted in the file-notification subsystems that every modern OS ships to inform applications when files change," said Sudheendra Raghav Neela, a doctoral student at TU Graz, in an email to The Register.
Attack scenarios typically require local access to an account with files readable by multiple users. The researchers note that the list of globally readable files is extensive. On Linux, watching "/dev/input" gives a notification on every keystroke, enabling a local inter-keystroke timing attack with 93.1–100 percent accuracy across seven users, and a remote (SSH) version at 100 percent. They also carried out an authentication-prompt redress attack on KDE Plasma 6 under Wayland and website fingerprinting on the top 100 sites at 87.9 percent.
On Android, FileObserver can bypass the FUSE layer meant to isolate per-app storage, allowing a permissionless app to watch private folders (e.g., WhatsApp) and see filenames and timestamps of photos, videos, and documents.
On Windows, watching the root directory C:\ reports the full path of every file touched anywhere on the system, across all users, regardless of permissions. The researchers showed this can track which websites on Firefox another user visits in real time at a 97.8 percent accuracy.
macOS provided the least information because no bypasses were found for reading private directories. Still, FSEvents allowed monitoring of various file changes in .plist files, including audio input/output changes, power settings, Bluetooth device updates, network cable-initiated DNS changes, and volume mount/unmount events.
The Linux vulnerability (CVE-2025-68788) was partially fixed in December 2025 in kernels 5.10.248, 5.15.198, 6.1.160, 6.6.120, 6.12.64, and 6.18.3. The patch prevents generation of "access" and "modify" events on special files in /dev/. The researchers say they responsibly disclosed findings to security teams between August and October 2025, but no mitigation has been made for Android devices. Apple and Microsoft have not publicly responded.