4n4s4zi/copyfail-alpine
GitHub: 4n4s4zi/copyfail-alpine
针对 CVE-2026-31431(Copy Fail LPE)漏洞的轻量级 PoC,通过修改 /etc/passwd 实现无密码提权至 root,并移植到 Alpine Linux 等使用 musl/busybox 的发行版上运行。
Stars: 1 | Forks: 0
这是对 Copy Fail LPE (CVE-2026-31431) 的一个更精简的移植版本,它通过修改 `/etc/passwd` 的前几个字节,使得 `su` 到 `root` 不再需要密码。这减小了原始漏洞利用的总大小,并使其更具可移植性。像 Alpine 这样的发行版使用 busybox/musl,而不是独立的 `su` 二进制文件和 glibc 链接,因此原始的二进制修补方法通常不起作用。我特别想制作一个能在 Alpine 上运行的移植版本,但由于该方法依赖于修改一个更普遍存在的目标,因此它应该适用于几乎任何具有 vulnerable kernel 的发行版,而不管底层的 coreutil 格式和 CPU 架构如何。(请注意,此 PoC 不是容器逃逸)
使用 Go 实现来获取可移植的独立二进制文件:
```
go build -o exp main.go
./exp
```

或者直接以非特权用户身份运行 Python 脚本,使用 `python3 exp.py`,然后享受你的 root shell。

已在运行 kernel 6.6.69 的 Alpine Linux 3.20.5 上测试。
压缩后的 blob 包含字节字符串 `root::0:0:`,它将 root 原始条目(`root:x:0:0:root:/root:/bin/sh`)中的 'x' 修补掉,从而在调用 `su` 时绕过对 `/etc/shadow` 中密码的检查。
参考:
- [Alpine 安全公告](https://security.alpinelinux.org/vuln/CVE-2026-31431)
- [原始 PoC](https://github.com/theori-io/copy-fail-CVE-2026-31431)
标签:CSV导出, EVTX分析, Go, Python, Ruby工具, Web报告查看器, 协议分析, 安全, 安全渗透, 无后门, 日志审计, 本地提权, 权限提升, 超时处理, 逆向工具