2026年4月29日,国际安全研究团队Theori的研究员Taeyang Lee正式公开了代号为Copy Fail的Linux内核高危漏洞,官方编号CVE-2026-31431。这一漏洞在Linux内核中潜伏近9年,影响2017年至今几乎所有主流Linux发行版,攻击者仅需获得本地普通用户权限,运行一段732字节的Python脚本,即可稳定获取系统最高root权限,甚至实现容器逃逸,直接突破Kubernetes集群的隔离边界。
相较于历史上名震一时的Dirty Cow、Dirty Pipe等内核提权漏洞,Copy Fail的利用门槛更低、稳定性更强、隐蔽性更高,堪称近年来Linux生态最具威胁的本地提权漏洞之一。本文将从漏洞基础信息、核心原理、利用链路、危害影响到修复方案,进行全方位深度解析。

Copy Fail漏洞的本质,是三个看似完全合理的内核特性/代码优化,在时间线的交叉中形成了致命的逻辑缺陷,最终导致攻击者可以向只读的文件页缓存(page cache)写入受控数据,实现权限提升。
我们先拆解漏洞形成的三个核心基石,再还原完整的漏洞逻辑:
漏洞并非单一代码错误导致,而是长达6年的三次内核变更叠加的结果,每一次变更单独审查都无明显安全问题,组合后却成为了核弹级漏洞:
2011年:authencesn 算法模板加入内核,用于支持IPsec的64位扩展序列号,该算法会在解密操作中,向输入缓冲区的末尾写入4字节的序列号数据,当时仅使用调用者提供的内存作为临时缓冲区,无安全风险。
2015年:内核AF_ALG加密接口新增AEAD算法支持,允许普通用户无特殊权限通过套接字调用内核加密能力,同时支持通过splice()系统调用,将文件页缓存直接传入加密操作,无需用户态内存拷贝。同年authencesn切换新API,但其末尾写入的特性未做变更,此时加密操作采用out-of-place模式,不会直接修改源文件缓存。
2017年:内核提交了72548b093ee3号优化补丁,将AF_ALG的AEAD加密操作改为in-place模式,直接在源数据所在的内存页执行加密/解密操作,减少内存拷贝提升性能。正是这一补丁,彻底打通了漏洞的完整链路,让只读文件的页缓存可以被内核加密逻辑直接修改。
内核通过in-place优化,将只读的文件页缓存放入了本不该拥有写权限的加密操作散列表中,而authencesn算法在解密过程中,会向输入缓冲区末尾写入攻击者可控的4字节数据,最终实现对只读文件页缓存的受控篡改。
这里有两个关键的技术细节,决定了漏洞的杀伤力:
页缓存(page cache)的特性:Linux内核会将磁盘上的文件加载到内存页缓存中,所有用户态对文件的访问都会优先命中缓存,且缓存是全局共享的——容器与宿主机、不同进程之间,同一个文件的页缓存是同一份。
无磁盘写入的隐蔽篡改:攻击者仅修改内存中的页缓存,不会修改磁盘上的源文件,传统的文件完整性校验工具(如tripwire、AIDE)无法检测到篡改,只有系统重启后缓存才会失效,隐蔽性极强。
Copy Fail的利用过程无竞态条件、无复杂的内存喷射,是一条直线型的攻击路径,稳定性接近100%,完整利用分为6个核心步骤:
攻击者以本地普通用户身份,通过AF_ALG套接字初始化AEAD加密上下文,指定使用authencesn算法模板,整个过程无需root权限,Linux默认允许所有用户调用该接口。
攻击者打开系统中自带的setuid root程序(如/usr/bin/su、/usr/bin/sudo),获取其只读文件句柄。这类程序默认属于root用户,且设置了setuid位,普通用户无法直接修改磁盘文件,但可以正常读取执行。
攻击者调用splice()系统调用,将目标setuid程序的文件页缓存,零拷贝传入之前初始化的AF_ALG加密套接字中。这一步是漏洞利用的关键——无需将文件内容拷贝到用户态,直接将内核态的只读缓存页交给加密模块处理。
攻击者构造特殊的加密输入,触发authencesn算法的解密操作。内核通过in-place模式,直接在传入的只读页缓存上执行解密逻辑,authencesn算法会向输入缓冲区的末尾写入攻击者可控的4字节数据,完成对只读页缓存的静默篡改。
攻击者通过多次构造输入,向/usr/bin/su的页缓存中注入恶意shellcode,修改其执行逻辑——让原本需要密码验证的su程序,直接为执行用户赋予root权限。
攻击者在用户态执行/usr/bin/su程序,系统会优先执行已经被篡改的内存页缓存中的代码,无需任何密码验证,直接获得UID=0的root shell,完成提权。
由于Linux的页缓存在容器和宿主机之间是全局共享的,攻击者可以在低权限容器中,通过相同的利用链路,篡改宿主机上的setuid程序页缓存。当宿主机上的root用户执行该程序时,就会触发攻击者注入的恶意代码,实现从容器到宿主机的逃逸,直接接管整个Kubernetes节点。
漏洞复现:

Copy Fail漏洞的危害,远超普通的内核提权漏洞,核心体现在4个维度:
漏洞影响2017年至今发布的几乎所有Linux内核版本,覆盖Ubuntu、Debian、RHEL、CentOS、SUSE、Amazon Linux、Arch Linux等全球主流发行版,无论是企业级服务器、个人PC、云主机、物联网设备,只要使用了未打补丁的Linux内核,均受影响。
漏洞利用无需复杂的内核版本适配,一套732字节的Python脚本即可通杀所有受影响版本;无竞态条件、无内存堆喷、无复杂的漏洞利用技巧,即使是入门级攻击者,也能一键完成提权,且利用成功率接近100%,不会导致系统崩溃。
攻击者仅修改内存中的页缓存,不会对磁盘上的源文件做任何修改,传统的文件完整性校验、主机入侵检测系统(HIDS)很难检测到攻击行为;只有系统重启后,页缓存才会重置,在此之前,攻击者可以长期维持root权限。
在Docker、Kubernetes等容器化场景中,该漏洞可以直接突破容器的隔离边界,攻击者通过低权限容器即可篡改宿主机的文件缓存,实现容器逃逸,进而接管整个集群节点,对企业私有云、公有云容器平台造成毁灭性打击。
Copy Fail漏洞常被拿来与Dirty Cow、Dirty Pipe对比,但其在多个维度的威胁性都实现了“超越”,核心对比如下:

针对该漏洞,Linux内核社区已发布官方修复补丁,同时提供了临时应急缓解方案,建议所有Linux用户根据自身场景,尽快完成修复。
该漏洞的官方修复补丁提交号为a664bf3d603d,核心是回退了2017年的in-place优化补丁,将AF_ALG的AEAD操作改回out-of-place模式,从根源上断开只读页缓存与可写加密操作的连接。
各主流发行版用户,可通过以下命令升级内核至安全版本:
apt update && apt upgrade linux-image-generic -y
# 升级完成后必须重启系统生效
rebootyum update -y
# 升级完成后必须重启系统生效
rebootpacman -Syu linux
# LTS版本执行 pacman -Syu linux-lts
# 升级完成后必须重启系统生效
reboot若业务系统无法立即重启升级内核,可通过以下方式临时阻断漏洞利用,且不会影响IPsec等正常加密功能:
# 写入模块黑名单,永久禁用
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
# 临时卸载已加载的模块
rmmod algif_aead 2>/dev/null || true然而,值得高度警惕的是系统状态的“驻留污染”问题。正如漏洞测试者与安全社区成员在 GitHub Issues 中所反馈的,一旦恶意脚本曾被执行,即使后续卸载了存在漏洞的内核模块,或者禁用了其加载,此前通过漏洞越界刮擦写入所污染的二进制代码片段仍然驻留在该服务器的物理页缓存中 。如果不对此类内存态的污染进行清理,依赖受损二进制文件(如 /etc/passwd)的系统服务或认证模块(例如系统管理员日常执行 su 或发生 UID 解析请求的 ls、scp 等应用)仍会出现解析错误,甚至允许被留置的后门继续作为 Root 运行 。
为了确保系统的彻底洁净,除了执行全局重启外,管理员还可以通过特定指令强制回收并驱逐受污染的页缓存。例如,通过向内核虚拟文件系统下达丢弃缓存的强制指令:
echo 3 > /proc/sys/vm/drop_caches对于容器化业务,可在容器运行时配置seccomp策略,禁止非特权用户创建AF_ALG套接字,阻断容器内的漏洞利用;对于主机业务,可通过systemd配置服务的seccomp规则,限制业务进程的AF_ALG权限。
注意:临时缓解措施仅为应急方案,无法彻底修复漏洞,建议仍在业务窗口期尽快完成内核升级并重启。
Copy Fail漏洞的出现,再次给整个Linux生态和安全行业敲响了警钟:
性能优化与安全的平衡:漏洞的根源是一次为了提升性能的代码优化,在减少内存拷贝的同时,打破了内核的权限隔离边界。内核开发中,任何涉及内存操作、权限边界的优化,都必须经过严格的安全审计,尤其是in-place操作这类直接修改源内存的逻辑。
组合漏洞的审计盲区:单个无风险的特性,与其他特性组合后可能形成致命漏洞,这是内核安全审计的最大难点之一。传统的逐行代码审计很难发现这类跨模块、跨时间线的组合漏洞,基于上下文的全链路安全分析、AI辅助审计将成为未来内核安全的重要方向。
常态化的漏洞管理不可松懈:该漏洞潜伏近9年才被发现,而一旦公开,攻击者可以快速利用其发起攻击。无论是企业还是个人用户,都需要建立常态化的漏洞监测与修复机制,及时跟进内核和系统安全更新,尤其是服务器、云主机等核心资产,必须缩短漏洞修复的窗口期。
截至本文发布,已有多个安全厂商监测到该漏洞的在野利用尝试,建议所有Linux用户立即自查内核版本,尽快完成补丁升级,避免遭受攻击。
参考来源:
Linux内核官方修复补丁:https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a664bf3d603d
Theori团队官方披露:https://github.com/Theori-Inc/copy-fail-CVE-2026-31431
SuSE安全公告:https://www.suse.com/security/cve/CVE-2026-31431.html
Amazon安全公告:https://explore.alas.aws.amazon.com/CVE-2026-31431.html
Ubuntu安全公告:https://ubuntu.com/security/CVE-2026-31431
厦门大学信息与网络中心漏洞通告:http://inc.xmu.edu.cn/info/1041/9412.htm
Tenable漏洞公告:https://jp.tenable.com/plugins/nessus/309203
PoC:https://github.com/theori-io/copy-fail-CVE-2026-31431、https://github.com/tgies/copy-fail-c
本课程最终解释权归蚁景网安学院
本页面信息仅供参考,请扫码咨询客服了解本课程最新内容和活动