文章总结: 本文分析CVE-2026-31431(CopyFail)Linux内核高危漏洞,该漏洞利用AF_ALG+splice系统调用覆盖setuid-root二进制文件的页缓存,无需竞争条件即可稳定提权,影响2017年后所有Linux发行版。文章详细解析漏洞原理、Payload设计架构及利用流程,并通过Hermes工具验证POC成功率接近100%,最后提供临时补丁建议。 综合评分: 85 文章分类: 漏洞分析,漏洞POC,二进制安全,Linux内核安全,渗透测试
Hermes的应用(五):分析CopyFail(CVE-2026-31431)高危漏洞Poc
白帽子
2026年5月11日 06:41 广东
在小说阅读器读本章
去阅读
以下文章来源于MicroPest ,作者MicroPest
MicroPest .
个人开发的小工具
看雪学苑《732字节,通杀所有Linux!一个潜伏十年的“隐形杀手”终曝光》中写道:“一个仅有732字节的Python脚本,就能在几乎所有2017年后发布的Linux发行版上,以100%的成功率拿下root权限。这并非科幻情节,而是4月29日被公开的Linux内核漏洞CVE-2026-31431,代号“Copy Fail”。
与传统需要反复尝试、碰运气的竞态漏洞不同,Copy Fail是一条“直线逻辑错误”——它不依赖任何竞争条件,不需要反复重试,一次执行即可稳定提权。更致命的是,它的攻击手法极其隐蔽,且能直接穿透容器”。
一、分析Github-CVE
在Github-CVE监控平台上搜索这个CVE编号,发现是今天推送的Poc。将它交给Hermes来分析下,得出如下意见:
README内容虽然短,但包含了关键信息:
这是一个利用 AF_ALG + splice 来覆盖 setuid-root 二进制文件页面缓存的漏洞利用工具,无竞争条件,无偏移,适用于自2017年以来所有Linux发行版,需要特定内核支持:authencesn(hmac(sha256),cbc(aes)),支持的架构:x86_64, i386/i686, armv6l/armv7l, aarch64,通过三个命令使用:运行利用、预检、扫描工具。
有了完整的 copyfail.py 代码。这是一个非常短小精悍的漏洞利用工具。
让我分析一下这个漏洞的原理:
1、利用点:
这个漏洞的核心是一个 Linux 内核的页缓存覆盖漏洞
本通过在 AF_ALG (Algorithmic API) socket 上发送特定的控制消息来触发
利用 AF_ALG + splice 系统调用覆盖 setuid-root 二进制文件的页缓存
覆盖后,当 setuid-root 程序被执行时,会执行攻击者注入的恶意代码
完全绕过正常的 setuid 权限检查,因为代码已经在内存中
2、原理说明:
使用 AF_ALG socket 创建加密算法上下文
使用特定的认证加密算法:authencesn(hmac(sha256),cbc(aes))
通过精心构造的控制消息 (CMSG) 设置解密状态
使用 splice 系统调用从目标文件读取并写入到 AF_ALG socket
然后从 AF_ALG socket 读取响应,这会触发内核中的内存覆盖条件
覆盖页缓存中的 ELF 文件头,使得正常的 setuid-root 二进制文件变成攻击者的 payload
payload 包含 setuid(0) 来获取 root,然后 execve(/bin/sh)
3、关键函数 _c:
创建 AF_ALG socket
绑定到 authencesn(hmac(sha256),cbc(aes)) 算法
设置一些选项
接受操作 socket
发送带控制消息的 payload
创建 pipe
使用 splice 从文件到 pipe,然后从 pipe 到 crypto socket
尝试从 crypto socket 读取,触发覆盖条件
4、payload 设计:
为不同架构 Embedded tiny ELF executable
包含:setuid(0)命令,提升了权限
通过 execve 执行 /bin/sh 实现
最后以 exit(1) 确保执行流程结束
5、系统要求:
使用 os.splice 或 ctypes 库
需要 authencesn(hmac(sha256),cbc(aes)) 算法支持
适用于 x86_64、i386/i686、armv6l/armv7l、aarch64 架构
Linux 内核自 2017 年起存在此漏洞
6、利用目标:
系统默认 su 程序路径优先
支持多种 setuid-root 二进制文件
自动搜索可用目标
7、操作模式:
支持预检查和扫描选项
可灵活配置攻击参数
深入检查系统漏洞的利用条件和潜在风险,确认系统是否存在可利用的安全隐患 ,分析完了!让我给你详细解析这个 CVE-2026-31431 (CopyFail) 漏洞。
二、分析Poc执行结果
交给Hermes分析上面的结果,
提权成功率接近100%。这个好厉害!!
三、测试
现在让Hermes生成一个完整的漏洞利用演示,
执行Hermes写的copyfail.sh程序,
真的提权成功。
四、临时补丁
至此,使用Hermes对此CVE进行了分析,基本还是非常清晰,代码也写得相当完美。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:白帽子 《Hermes的应用(五):分析CopyFail(CVE-2026-31431)高危漏洞Poc》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论