litosmartin/CVE-2026-64600-Refluxfs-PoC
GitHub: litosmartin/CVE-2026-64600-Refluxfs-PoC
针对 XFS 文件系统 COW 竞态条件漏洞(CVE-2026-64600)的本地提权 PoC,可修改 root 拥有的文件以实现权限提升。
Stars: 0 | Forks: 0
# RefluXFS (CVE-2026-64600) PoC
本仓库包含了一个 PoC,用于复现最近发现的、影响 XFS 上 COW 的竞态条件漏洞。该漏洞由出色的 Qualys 安全团队报告。[1] [2]
## PoC 信息
基于 Qualys 安全通告中出色的分析手工编写。它会重写 `/etc/passwd` 文件的前 4KB 内容,保留其原始包含的数据,
并将 root 用户行:`root:x:0:0:root:/root:/bin/bash` 替换为 `root::0:0:root:/root:/bin/bash`。注意到差异了吗?现在 root 用户没有 passwd 了,你可以直接 `su -`。
作为一个出于个人需求编写的简陋 PoC,它的错误处理很糟糕,也不会对原始文件进行任何花哨的备份之类的操作。已在运行 XFS 的 Rocky Linux 9.7 虚拟机 /
上测试过,内核版本为 2026 年 2 月。它还会对 `/etc/passwd` 的写入进行粗暴的填充,因此如果你很在意正在运行该程序的目标机器……请在运行前做好文件备份。我制作这个 PoC 是为了检查我的机器,本来打算保密一段时间,但我昨天看到另一个 PoC 被公布了,所以……
如果 `/home` 与 `/etc/passwd` 位于不同的分区,你可能需要调整 PoC 中的 `CLONE_FILE` 变量,使其指向一个你有写权限的路径。`/var/tmp` 可能会对你有所帮助,你应该能够使用
`find / -writable` 来评估你的暴露情况。使用 `gcc refluxfs.c -o refluxfs -lpthread` 进行编译。
## 检测与缓解
该 PoC 不会留下任何日志或 `dmesg` 记录,在我看来,捕获此行为的最佳方法是设置一条 SIEM 规则,以监控 XFS 文件系统上带有 FICLONE 的 `ioctl` 调用。
文件完整性监控工具可能也会检测到它。
如果条件允许,请更新内核。或者,Red Hat 提供的使用 SystemTap 的缓解措施也有效:
```
probe begin {
printf("refluxfs mitigation loaded\n")
}
probe module("xfs").function("xfs_file_remap_range").call {
$remap_flags = 0xffff
}
probe module("xfs").function("xfs_file_remap_range").return {
$return = -95
}
probe end {
printf("refluxfs mitigation unloaded\n")
}
```
## 前置条件
1. 较新(>= 2017)内核上的默认 XFS 配置。RHEL 默认使用 XFS。使用 `$ xfs_info / | grep reflink=1` 和 `mount -l | grep xfs` 进行检查。
2. 一个值得攻击的文件(目标),通常由 root 拥有且对全局可读(用于复制),以及在同一个文件系统中具有写权限的路径,副本将被放置在该路径下。PoC 使用了 `/etc/passwd`,
也可以是 SUID 文件,或其他重要的 root 拥有的配置文件。
XFS 代码中的一个缺陷意味着,可以为文件请求 Copy-On-Write,但 COW 没有被正确撤销。当写入我们的副本文件时,COW 本应被撤销,从而在磁盘上存在两个不同的文件。由于竞态条件的存在,利用线程你只需……同时写入这两个文件即可。
如果你能读取目标文件,并对它执行 `ioctl(fd, FICLONE)`,你就会得到一个启用了 COW 的副本。目标文件和副本必须在同一个分区。

然后,你只需……使用 `O_DIRECT` 对你的副本执行 write(),即可修改原始文件。

## 默认受影响的发行版(同样,感谢 Qualys)
- RHEL 8, 9, 10; CentOS Stream 8, 9, 10; Rocky 和 AlmaLinux 8, 9, 10
- Oracle Linux 8, 9, 10 (RHCK 4.18/5.14/6.12, 以及 UEK R6/R7/8)
- CloudLinux 8, 9, 10
- Fedora Server >= 31
- Amazon Linux 2023
- 自 2022 年 12 月 (2.0.20221210.1) 及以后的 Amazon Linux 2 AMIs
## 参考
1: https://openwall.com/lists/oss-security/2026/07/22/14
2: https://blog.qualys.com/vulnerabilities-threat-research/2026/07/22/refluxfs-a-linux-kernel-local-privilege-escalation-to-root-in-xfs-cve-2026-64600
我的文章中可能存在错误之处,但我想先写点东西作为开端,尤其是在这*极为精彩*的几个月里。标签:Linux内核, PoC, Web报告查看器, 协议分析, 安全, 客户端加密, 暴力破解, 本地提权, 权限提升, 超时处理