当前位置:首页>Linux>732字节,通杀所有Linux!代号“Copy Fail”!

732字节,通杀所有Linux!代号“Copy Fail”!

  • 2026-10-11 08:17:21
732字节,通杀所有Linux!代号“Copy Fail”!
2026年4月29日,CVE-2026-31431 漏洞被公开。

一、概述

4月29日,Linux内核中被披露存在一个高危的本提权漏洞(漏洞代号:Copy Fail,CVE编号:CVE-2026-31431)。该漏洞由Xint Code研究团队发现,是一个隐蔽且极易触发的内核逻辑缺陷。攻击者利用该漏洞可以实现稳定、确定性的提权操作。该漏洞的完整利用代码(PoC)已经公开,受影响时间跨度长达近十年(自2017年起)。且覆盖所有主流Linux发行版本。云服务器、容器宿主机及多租户环境均面临极高的安全风险。

二、漏洞详情

1.漏洞成因:

该漏洞源于Linux内核加密子系统中 authencesn 模块的逻辑缺陷。当攻击者结合使用 AF_ALG 套接字和 splice() 系统调用时,会将目标文件的页缓存(Page Cache)引用暴露在可写的散列表(Scatterlist)中,从而允许无特权的本地用户向系统内任意可读文件(如 setuid 的 su 二进制文件)的页缓存中进行精确的4字节越界写入。

2.三大特性:

                全平台通杀,无条件触发(直线逻辑缺陷):同一个732字节的Python脚本(仅使用标准库),无需针对特定发行版修改偏移量或重新编译,在Ubuntu、Debian、RHEL、Amazon Linux、SUSE等主流系统上均可直接运行,不会导致系统崩溃。

极度隐蔽(绕过文件完整性校验):攻击全程只修改内存中的页面缓存,磁盘上的原始文件丝毫不受影响。内核从未将该页面标记为“脏”,因此不会触发写回磁盘。这意味着普通的文件完整性校验工具会直接漏过,因为磁盘镜像和校验和都是干净的。重启后,系统自动恢复正常状态,几乎不留痕迹。

容器逃逸天然适配:页面缓存是宿主机级别共享的。一个普通容器内的攻击者,就可以修改宿主机的页面缓存,进而逃逸到宿主机,威胁整个节点。这一点在多租户Kubernetes集群中尤为致命。

三、风险危害

1.本地权限提升:任何无特权的本地普通用户均可利用该漏洞篡改高权限进程(如 /usr/bin/su),直接获取系统最高级别的 root 权限。

2.容器逃逸与跨租户攻击:由于操作系统的页缓存在宿主机与所有容器之间共享,容器内的攻击者一旦掌握适当的系统调用权限,即可篡改宿主机的页缓存,实现容器逃逸并接管整个Kubernetes节点或宿主机资源。

3.高危场景威胁:对多用户共享主机、开发机、CI/CD执行器(如GitHub Actions、GitLab Runner等沙盒环境)以及Serverless等多租户云服务造成严重的跨越隔离界限的威胁。

四、不受影响的版本:

内核主线 7.0 及以上

稳定版 6.18.22 及以上

稳定版 6.19.12 及以上

五、处理建议

1.临时缓解措施(禁用内核模块):若暂无法重启或升级内核,建议立即禁用相关的漏洞触发模块。使用 root 权限执行以下命令:

# 重定向内核模块加载二进制  echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf  # 如已经加载该模块则卸载  # 若提示 rmmod: ERROR: Module algif_aead is not currently loaded 可忽略  rmmod algif_aead  # 清空文件系统缓存,使exp/poc中被篡改的缓存失效  echo 1 > /proc/sys/vm/drop_caches;  # 后续该模块按需加载时,将重定向至 /bin/false ,阻断漏洞利用

请注意,若卸载模组时提示 rmmod: ERROR: Module algif_aead is builtin.(如 Rocky Linux 8 等发行版),此时该模块无法通过modprobe控制加载。建议升级内核版本并重启。

1)若无法升级内核,并且您的启动由 Grub 引导,可跟随以下步骤操作:

2)编辑/etc/default/grub,在GRUB_CMDLINE_LINUX增加 initcall_blacklist=algif_aead_init

3)执行 grub2-mkconfig -o /boot/grub2/grub.cfg 或对应发行版的 grub 更新指令。

重启系统 (非 GRUB 的其他引导方式请参考其文档增加对应的 CMDLINE_LINUX 参数)

2.容器环境阻断:对于运行未受信任工作负载的容器或Kubernetes集群,建议通过 Seccomp profile 或其他安全策略,直接阻断容器内部的 AF_ALG socket 创建请求。

3.立即升级内核(首选方案):各主要Linux发行版厂商已发布包含 mainline commit a664bf3d603d 的内核更新补丁。建议受影响用户第一时间通过系统的包管理器(如 apt、yum、dnf)将内核更新至最新版本并重启系统。

# Ubuntu / Debian  apt update&& apt upgrade linux-image-$(uname -r)# RHEL / CentOS / Rocky / Alma  dnf update kernel # SUSE  zypper update kernel-default

说明:禁用该模块不会影响 dm-crypt/LUKS、IPsec、SSH 或 OpenSSL 的默认构建等标准加密服务,极少数强制指定使用 AF_ALG 的用户态业务除外。

六、复现记录
KaliLinux
Linux Mint
OpenEuler
基本是测一个100成功一个。。。。
七、官方修复方案
目前最有效的修复方式:
内核升级到官方安全版本
或更新到最新稳定版本
⚠️ 升级内核前务必备份重要数据,生产环境建议先测试环境验证,确保兼容性。
八、临时缓解措施(未升级前)
限制 AF_ALG 接口访问(使用 seccomp / LSM)
减少本地用户权限
加强容器隔离(gVisor / Kata)
⚠️ 注意:文件完整性工具和安全软件无法检测内存修改。
九、企业应对策略
排查内核版本
统一升级内核
重点检查云服务器、Kubernetes、CI/CD 环境
关闭不必要本地用户访问
总结
Copy Fail(CVE-2026-31431)不是复杂攻击,而是一个简单到离谱的内核逻辑漏洞,却影响了整个 Linux 生态。
升级内核,是唯一彻底解决方案。

最新文章

随机文章