文章总结: 文档披露了Linux内核漏洞CVE-2026-31431(代号CopyFail),该漏洞源于三次内核改动叠加导致的越界写入缺陷,仅需732字节Python脚本即可在所有主流Linux发行版上实现100%成功率的稳定提权。关键发现包括漏洞可穿透容器、仅修改内存页面缓存不留痕迹、无需竞争条件一次命中。可操作建议包括检查内核版本、临时禁用algif_aead模块及等待官方补丁更新。 综合评分: 96 文章分类: 漏洞分析,漏洞预警,云安全,渗透测试,红队
732字节,通杀所有Linux!一个潜伏十年的“隐形杀手”终曝光
看雪学苑 看雪学苑
看雪学苑
2026年4月30日 17:59 上海
在小说阅读器读本章
去阅读
一个仅有732字节的Python脚本,就能在几乎所有2017年后发布的Linux发行版上,以100%的成功率拿下root权限。这并非科幻情节,而是4月29日被公开的Linux内核漏洞CVE-2026-31431,代号“Copy Fail”。
与传统需要反复尝试、碰运气的竞态漏洞不同,Copy Fail是一条“直线逻辑错误”——它不依赖任何竞争条件,不需要反复重试,一次执行即可稳定提权。更致命的是,它的攻击手法极其隐蔽,且能直接穿透容器。
已关注
关注
重播 分享 赞
关闭
观看更多
更多
退出全屏
切换到竖屏全屏退出全屏
看雪学苑已关注
分享视频
,时长00:07
0/0
00:00/00:07
切换到横屏模式
继续播放
[ ]
进度条,百分之0
播放
00:00
/
00:07
00:07
倍速
全屏
倍速播放中
0.5倍 0.75倍 1.0倍 1.5倍 2.0倍
超清 流畅
继续观看
732字节,通杀所有Linux!一个潜伏十年的“隐形杀手”终曝光
观看更多
转载
,
732字节,通杀所有Linux!一个潜伏十年的“隐形杀手”终曝光
看雪学苑已关注
分享点赞在看
已同步到看一看写下你的评论
视频详情
一个潜伏十年的设计缺陷
漏洞的根源是三次看似无害的内核改动在十年间悄然叠加,最终酿成大祸。
2011年,为了支持IPsec的64位扩展序列号,内核引入了authencesn加密模板。该模板在计算HMAC时,需要重新排列序列号的高低位字节。当时的设计者选择直接用调用者提供的目标缓冲区作为“临时草稿纸”,在缓冲区边界之外写入4字节的序列号低位,且从未恢复原始数据。由于当时只有内核内部的xfrm层调用此功能,这一越界写入行为并未暴露。
2015年,authencesn被转换为新的AEAD接口,越界写入的位置被精确确定为“关联数据长度+密文长度”之后。同年,AF_ALG模块获得了AEAD支持,可通过splice()零拷贝将文件页面缓存直接传入加密操作的数据列表中。但此时加密操作仍是“异地”(out-of-place)模式,输入和输出使用不同的内存区域,文件页面缓存仅作为只读输入,因此尚不可利用。
2017年,一项性能优化彻底打开了潘多拉魔盒:AF_ALG被改为“就地”(in-place)模式,输入和输出共享同一份内存列表。在解密操作中,内核会将认证标签部分直接“链入”输出区域——这些标签页面恰恰来自攻击者通过splice()传入的文件页面缓存。此时,authencesn那4字节的越界写入便会精准地篡改内核缓存中的文件内容。
整个过程不需要任何竞争条件,一次系统调用即可精准命中。攻击者通过精心构造的关联数据、splice偏移量和长度,能够精确控制要篡改的4字节内容及位置。一个攻防链条就此形成:篡改内存中/usr/bin/su等setuid二进制文件的代码段,注入恶意指令,执行后直接获得root权限。
三大特性让Copy Fail格外危险
全平台通杀:同一个732字节的Python脚本(仅使用标准库),无需针对特定发行版修改偏移量或重新编译,在Ubuntu、Debian、RHEL、Amazon Linux、SUSE等主流系统上均可直接运行。
极度隐蔽:攻击全程只修改内存中的页面缓存,磁盘上的原始文件丝毫不受影响。内核从未将该页面标记为“脏”,因此不会触发写回磁盘。这意味着普通的文件完整性校验工具会直接漏过,因为磁盘镜像和校验和都是干净的。重启后,系统自动恢复正常状态,几乎不留痕迹。
容器逃逸天然适配:页面缓存是宿主机级别共享的。一个普通容器内的攻击者,就可以修改宿主机的页面缓存,进而逃逸到宿主机,威胁整个节点。这一点在多租户Kubernetes集群中尤为致命。
与其他著名提权漏洞的对比
相较于 Dirty Cow 需要赢得竞争条件、多次尝试且可能造成系统崩溃,Dirty Pipe 仅影响特定版本且需精细操控管道缓冲区,Copy Fail的直线逻辑缺陷使其具有无可比拟的稳定性。同一脚本一次执行,成功率100%,影响范围横跨近九年。
给用户的具体应对指南
需要明确的是,Copy Fail是一个本地提权漏洞,攻击者必须首先在目标机器上获得普通用户代码执行权限,远程攻击者无法直接利用。但对于多用户共享服务器、CI/CD环境、容器宿主机,以及开放SSH账号的机器,风险极高。
立即检测当前系统状态:
-
检查内核版本:uname -r
-
查看已安装的内核镜像:dpkg -l ‘linux-image*’ | grep ‘^ii’
-
检查algif_aead模块是否加载:lsmod | grep algif_aead
临时缓解措施(在官方补丁到达前):
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.confsudo rmmod algif_aead 2>/dev/nullsudo reboot
此操作会禁用漏洞所依赖的内核模块,对绝大多数系统的日常使用无影响。
永久修复:等待操作系统官方推送修复内核后执行:
sudo apt updatesudo apt full-upgrade
资讯来源:xint.io、github.com/rootsecdev
球分享
球点赞
球在看
点击阅读原文查看更多
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:看雪学苑 看雪学苑 看雪学苑《732字节,通杀所有Linux!一个潜伏十年的“隐形杀手”终曝光》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论