格拉茨工业大学研究人员发现,Windows、Linux、macOS及Android系统中的文件通知机制存在安全缺陷,允许同一设备上的非特权账户监控其他用户的活动。该漏洞可被用于重建浏览历史、分析击键节奏甚至获取私有文件元数据。

Windows:完整路径泄露浏览历史

在Windows系统中,标准非特权账户可通过监控目录变更,检测其他用户在Firefox浏览器中访问的网站。测试显示,攻击者能准确识别95.7%的热门站点访问行为,且无误报。Edge浏览器因较少使用IndexedDB,检测率为32%。

监控程序通过捕获C盘根目录的文件创建、修改和重命名事件工作。由于浏览器会将特定站点数据保存在包含站点地址的文件夹中,攻击者仅需文件名和路径即可重建用户浏览历史。此外,预读文件、Zoom数据库变更及Windows Defender扫描行为也会泄露程序启动记录、会议状态及其他用户的文档路径。

微软回应称这是设计使然,仅揭示文件名和路径。尽管Sébastien Huneault曾于2025年4月报告类似漏洞(CVE-2025-27738和CVE-2025-21197),且微软后续更新KB5058189引入了注册表策略EnforceDirectoryChangeNotificationPermissionCheck以缓解此问题,但该策略默认禁用。研究人员指出,在未配置的出厂系统上,所有针对Windows的攻击均能生效。

Linux:击键时序暴露输入内容

Linux的inotify机制允许读取文件夹的账户接收该目录下所有文件的警报,包括不可读的设备文件。监控者可据此捕获键盘按键的按下和释放时间。虽然不直接泄露具体键位,但击键时序足以辅助重构输入文本。测试中,该攻击几乎捕获了七名打字员的所有击键操作。

该技术同样适用于SSH会话,服务器进程可捕获远程用户的击键时序,尽管无法获取sudo密码提示框中的输入。此外,研究还展示了恶意软件可在KDE桌面伪造密码窗口,以及通过字体加载情况推断用户访问的热门站点。

Linux内核开发人员于2026年初发布了部分缓解补丁(CVE-2025-68788),关闭了对设备文件的不可读文件路径监控,但文件系统其余部分仍面临风险。研究人员建议将监控权限与文件所有权或读取权限绑定。

macOS与Android:泄露程度各异

macOS的FSEvents机制限制仅报告监控者可读取的文件,因此泄露最少。但在macOS Sonoma 14.2.1上,研究人员仍能观察到打印任务、蓝牙设备变更、应用安装卸载以及Podcasts、Voice Memos等特定应用的启动行为。

在Android 16系统上,零权限应用利用FileObserver接口,可绕过作用域存储隔离,访问下载内容、照片、截图及WhatsApp私有媒体文件夹。攻击者可获知媒体文件的到达时间、文件名及删除时机。

研究团队已于2025年8月至10月期间向四大平台安全团队披露漏洞,并公开了测试代码。作者建议Windows应禁止监控整个驱动器,以从根本上缓解此类侧信道攻击。