阅读导引
00 · 引言:当拷贝成为攻击面
01 · 漏洞机制:copy_file_range 的权限盲区
02 · 架构分析:VFS 层的逻辑断裂
03 · 影响范围:从云原生到嵌入式
04 · 修复与缓解:内核补丁的演进
05 · 结语:系统调用的安全边界
06 · 参考文献
关键词:Linux、CopyFail、CVE-2026-3141、VFS 漏洞、内核安全、提权
00 · 引言:当拷贝成为攻击面
2026 年 4 月底,Linux 社区经历了一场近年来影响范围最广的系统级安全危机。安全研究团队 Theori 公开了名为 CopyFail 的漏洞利用演示代码(CVE-2026-31431),直指 Linux 内核中的 copy_file_range() 系统调用。
此次事件的特殊性在于双重危机叠加。在漏洞公开之际,Ubuntu 背后的 Canonical 公司基础设施遭遇大规模 DDoS 攻击,导致多个网站和服务瘫痪超过 24 小时。补丁的协调、发布和沟通渠道受阻,数百万台服务器在修复窗口内持续暴露。
01 · 漏洞机制:copy_file_range 的权限盲区
CopyFail 的核心缺陷在于 VFS 层的权限检查不完整。自 Linux 4.5 引入以来,copy_file_range() 旨在实现内核态的高效文件拷贝,避免数据在用户态与内核态之间来回搬运。
正常情况下,内核需要对源文件执行读权限检查(MAY_READ),对目标文件执行写权限检查(MAY_WRITE)。但在特定场景下——特别是跨文件系统操作、叠加文件系统(overlayfs)与用户命名空间(user namespace)交互时——该读权限检查被绕过或执行不正确。
非特权用户创建新命名空间并挂载 overlayfs 后,打开 root 权限的敏感文件(如 /etc/shadow)作为源,调用 copy_file_range() 即可将内容直接拷贝至用户可控文件,内核空间的数据搬运绕过了常规的用户态读取限制。
02 · 架构分析:VFS 层的逻辑断裂
从架构层面看,VFS 层(Virtual File System)在处理跨文件系统拷贝时,为了追求性能,采用了“信任文件系统自身”的策略。然而,当源文件系统(Source FS)和目标文件系统(Destination FS)处于不同的命名空间或权限上下文中时,这种信任模型便会出现裂缝。
这与 2016 年的 Dirty COW(CVE-2016-5195)有相似之处:都利用了内核数据路径上的检查盲区。Dirty COW 利用写时复制竞争条件,而 CopyFail 利用的是跨文件系统拷贝时的权限遗漏。
03 · 影响范围:从云原生到嵌入式
CopyFail 的影响面覆盖了自 2017 年以来的几乎所有主流 Linux 发行版。由于 copy_file_range() 是基础系统调用,受影响的环境极其广泛:
▎关键受影响场景
- 多租户云服务器:共享内核的虚拟机之间可能互相读取敏感数据。
- Kubernetes 容器:允许创建用户命名空间的容器可直接逃逸提权。
- CI/CD 流水线:构建环境中不同阶段的文件可能被非授权访问。
- IoT 与边缘设备:未及时更新的嵌入式系统面临直接控制风险。
04 · 修复与缓解:内核补丁的演进
各发行版已陆续发布内核更新。补丁的核心改动是在 do_copy_file_range() 函数中增加严格的 file_permission(file_in, MAY_READ) 检查。
▎紧急缓解措施
禁用非特权用户命名空间克隆:sysctl -w kernel.unprivileged_userns_clone=0此举会阻断通过用户命名空间 + overlayfs 组合触发漏洞的路径。
容器环境中,建议在 seccomp 配置中临时禁用该系统调用(SCMP_ACT_ERRNO),代价是可能影响性能,但能阻断攻击路径。
05 · 结语:系统调用的安全边界
CopyFail 事件再次提醒我们:内核在优化性能的路径上,绝不能牺牲安全检查的完整性。从 Dirty COW 到 CopyFail,十年间两次重大危机,底层逻辑如出一辙。
对于安全团队而言,不仅要关注 CVE 的修补,更要思考如何通过架构级隔离(如 Seccomp、AppArmor、SELinux)来减少内核暴露面。当“拷贝”这一最基本的操作也能成为攻击入口时,系统安全的设计哲学必须随之演进。
06 · 参考文献
[1] Theori, "copy-fail-CVE-2026-31431", GitHubhttps://github.com/theori-io/copy-fail-CVE-2026-31431
[2] Ars Technica, "CopyFail exposes copy_file_range flaw", Ars Technicahttps://arstechnica.com/security/2026/04/as-the-most-severe-linux-threat-in-year
[3] TechCrunch, "Ubuntu services hit by outages after DDoS", TechCrunchhttps://techcrunch.com/2026/05/01/ubuntu-services-hit-by-outages-after-ddos-atta
计算沉思录
分享关于计算的观察与思考
追踪科技前沿 · 探索底层逻辑 · 畅想未来趋势