b5null/CVE-2026-31431-C
GitHub: b5null/CVE-2026-31431-C
针对 Linux 内核 AF_ALG 与 splice 交互引发的写时复制内存损坏漏洞(CVE-2026-31431)的本地提权 exploit,通过运行时修补特权二进制文件实现无密码获取 root 权限。
Stars: 3 | Forks: 2
# Copy-Fail 漏洞利用 (CVE-2026-31431)
针对 Linux 内核通过 AF_ALG socket 和 splice 操作产生的写时复制漏洞的本地权限提升利用。
## 概述
该利用程序滥用了 Linux crypto 子系统 (`AF_ALG`) 结合零拷贝机制 (`splice`) 产生的内核级内存损坏条件,以在内存中修改特权二进制文件。
通过在运行时修补 `/usr/bin/su`,它允许在无需有效凭证的情况下将权限提升至 root。
## 用法
进行静态编译,以便能够在任何 Linux 环境中使用,而无需 Python 或额外的库。
```
gcc -o exploit exploit.c -lz -static
./exploit
```
## 工作原理
1. 打开 `/usr/bin/su`
2. 创建一个 `AF_ALG` AEAD socket
3. 通过精心构造的 socket 操作触发内核内存损坏
4. 使用 `splice()` 系统调用进行零拷贝内存操作
5. 覆盖内存中的身份验证逻辑
6. 执行修补后的 `su` 以获取 root shell
## 环境要求
- 存在漏洞的 Linux 内核版本
- 已启用 `CONFIG_CRYPTO_USER_API_AEAD`
- 允许使用 User namespace
- 本地 shell 访问权限
## 检测与缓解
- 一旦可用,请将补丁更新至已修复的内核版本
- 如果不需要,请禁用非特权 User namespace:
sysctl -w kernel.unprivileged_userns_clone=0
- 监控以下可疑行为:
- `AF_ALG` socket
- `splice()` 系统调用
- 应用内核加固(LSM、seccomp 等)
## 免责声明
**仅供教育和授权安全研究目的使用。**
未经授权使用此漏洞利用程序可能违反相关法律。
**我不拥有原始代码,也不是该 CVE 的发现者。**
## 参考
- CVE:CVE-2026-31431
- 组件:Linux Kernel (`AF_ALG` / crypto 子系统)
- 类型:Use-After-Free / Copy-On-Write 损坏
标签:AF_ALG, COW, Crypto子系统, CVE-2026-31431, Exploit, Linux提权, PoC, Root提权, Splice系统调用, su命令, UAF漏洞, Web报告查看器, 二进制补丁, 内存安全, 内存破坏, 内核漏洞, 写时复制, 协议分析, 子域名枚举, 安全渗透, 客户端加密, 数据展示, 暴力破解, 本地提权, 权限提升, 漏洞利用代码, 漏洞复现, 漏洞检测与缓解, 系统安全, 红队, 网络安全, 获取Root权限, 释放后使用, 隐私保护, 零拷贝