CVE-2026-31694
高已发布
fuse: 拒绝页缓存中过大的目录项
- 已发布
- 2026年5月1日
- 已更新
- 2026年8月5日
- 分配 CNA
- Linux
- 观察到的证据
- 2026年8月8日
初级CVSS
7.8/ 10高
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H0.3%
低 · 未来 30 天
- 百分位
- 20.8%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
在 Linux 内核中,以下漏洞已被修复:fuse: 拒绝页缓存中超大的 dirent。fuse_add_dirent_to_cache() 根据服务器控制的 namelen 字段计算序列化后的 dirent 大小,并将该 dirent 复制到单个页缓存页中。现有逻辑仅检查 dirent 是否适应当前页的剩余空间,若不适应则前进到新页。它从未检查 dirent 本身是否超过 PAGE_SIZE。因此,恶意 FUSE 服务器可以返回 namelen=4095 的 dirent,从而产生大小为 4120 字节的序列化记录。在 4 KiB 页系统上,这会导致 memcpy() 将缓存页溢出 24 字节到后续的内核页中。在将 dirent 复制到 readdir 缓存之前,拒绝无法放入单个页的 dirent。
来源
1Linux 内核 FUSE readdir 缓存越界写入(CVE-2026-31694):恶意 FUSE 服务器将页面缓存页溢出 24 字节。包含 PoC 以及通过 /etc/passwd 页面缓存损坏实现的非特权本地提权利用。仅在虚拟机内运行。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。