malwarekid/CVE-2026-31431

GitHub: malwarekid/CVE-2026-31431

针对 CVE-2026-31431 的概念验证漏洞利用程序,利用 Linux 内核 AF_ALG 加密 API 的内存损坏漏洞通过页缓存修补实现本地无密码提权至 root。

Stars: 5 | Forks: 0

# CopyFail (CVE-2026-31431) ## 概述 **CopyFail** 是针对 CVE-2026-31431 的概念验证漏洞利用程序,旨在攻击 Linux 内核加密 API (`AF_ALG`) 中的内存损坏漏洞。该漏洞利用 `splice` 系统调用对 `/usr/bin/su` 二进制文件进行未授权的页缓存修补,从而实现无需密码提权至 root。 ## 技术分析 ### 根本原因 该漏洞存在于 Linux 内核通过 `splice` 处理 `AF_ALG` 套接字与其他文件描述符之间零拷贝数据传输的过程中。由于 `aead` 实现中的同步或边界检查不当,由加密引擎处理的数据可能会被写回源文件的页缓存中。 ### 漏洞利用方法 1. **内存损坏触发**:该漏洞利用程序初始化一个 `AF_ALG` 套接字,并使用 `sendmsg` 在套接字的内部缓冲区中排队一个恶意 payload。 2. **页缓存注入**:通过调用 `splice` 将 `/usr/bin/su` 二进制文件的数据传输到 `AF_ALG` 套接字中,该漏洞会导致套接字缓冲区的内容覆盖内存中二进制文件的页缓存。 3. **身份验证绕过**:该漏洞利用程序将 `su` 的身份验证逻辑替换为一个生成 root shell 的最小 ELF payload。由于页缓存被修改,随后执行的 `su` 将运行攻击者的代码,而不是原始二进制文件。 ## 功能特性 - **零依赖**:纯 Go 实现,对所有内核交互使用 `RawSyscall`。 - **页缓存修补**:通过 `AF_ALG`/`splice` 交互直接操作内核的文件缓存。 - **最小占用**:优化的二进制文件大小,无标准库开销(没有 `fmt` 或 `os` 包)。 ## 安装与使用 ### 构建 为当前架构编译该漏洞利用程序: ``` go build -ldflags="-s -w" -o CopyFail CVE-2026-31431.go ``` ### 执行 运行编译后的二进制文件: ``` ./CopyFail ``` 成功执行后,`su` 二进制文件将在内存中被修补并执行,从而授予一个 root shell。 ## 概念验证(Kali Linux) 以下演示展示了在标准 Kali Linux 安装上编译和执行该漏洞利用程序的过程。 ``` # 1. 验证当前 unprivileged user kali@kali:~$ whoami kali # 2. 编译 exploit kali@kali:~$ go build -ldflags="-s -w" -o CopyFail CVE-2026-31431.go # 3. 执行 CopyFail exploit kali@kali:~$ ./CopyFail [+] Triggering AF_ALG memory corruption... [+] Patching /usr/bin/su in page-cache... [+] Executing patched binary... # 4. 成功:提权至 root shell root@kali:/home/kali# id uid=0(root) gid=0(root) groups=0(root) root@kali:/home/kali# whoami root ``` ## 修复建议 为了缓解此漏洞,建议采取以下步骤: 1. **内核更新**:升级到包含 CVE-2026-31431 修复程序的 Linux 内核版本。 2. **禁用 AF_ALG**:如果不需要基于套接字的 Crypto API,请禁用 `af_alg` 及相关模块: modprobe -r af_alg 3. **监控 Splice**:利用安全审计工具(如 `auditd`)监控针对敏感系统二进制文件的可疑 `splice` 调用。 ## 安全注意事项 ⚠️ **警告**:此工具仅用于**授权的安全研究和教育目的**。修补页缓存是一项易变操作,可能会导致系统不稳定。作者对滥用行为不承担任何责任。 ## 鸣谢 CVE-2026-31431 ("Copy Fail") 由 **[Theori](https://xint.io/blog/copy-fail-linux-distributions)** 的研究团队发现并披露。 ## 许可证 本项目基于 MIT [LICENSE](LICENSE) 授权。
标签:0day挖掘, AF_ALG, CSV导出, CVE-2026-31431, ELF, EVTX分析, Go 语言, Linux 内核漏洞, Root 提权, Web报告查看器, 二进制利用, 内存损坏, 内存补丁, 内核安全, 子域名枚举, 安全渗透, 密码绕过, 日志审计, 本地提权, 漏洞 PoC, 系统安全, 网络与安全, 认证绕过, 零依赖, 页缓存注入