Hermes的应用(五):分析CopyFail(CVE-2026-31431)高危漏洞Poc

admin 2026-05-12 05:53:34 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分析CVE-2026-31431(CopyFail)Linux内核高危漏洞,该漏洞利用AF_ALG+splice系统调用覆盖setuid-root二进制文件的页缓存,无需竞争条件即可稳定提权,影响2017年后所有Linux发行版。文章详细解析漏洞原理、Payload设计架构及利用流程,并通过Hermes工具验证POC成功率接近100%,最后提供临时补丁建议。 综合评分: 85 文章分类: 漏洞分析,漏洞POC,二进制安全,Linux内核安全,渗透测试


cover_image

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》

评论:0   参与:  0