
Copy Fail(CVE-2026-31431)的简洁 C 语言版本 - 利用 AF_ALG + authencesn + splice 原语的 Linux 本地权限提升漏洞。通过用一段极小的 setuid shellcode 覆盖 /usr/bin/su 的页缓存来获取 root 权限。仅用于教育目的的验证性概念证明。
Copy Fail Linux 本地权限提升漏洞(CVE-2026-31431)的简洁、可读的 C 语言实现。
这是原始压缩版 Python 漏洞利用的移植版本。
警告:这仅用于教育和研究目的的验证性概念证明。请仅在您拥有或已获得明确测试许可的系统上使用。
AF_ALG + authencesn + splice() 原语该漏洞利用 Linux 内核加密子系统(algif_aead)中的逻辑缺陷。它允许非特权用户向任何可读文件(例如 /usr/bin/su)的页缓存中写入 4 个受控字节。
我们用一段极小的 setuid shellcode 覆盖 /usr/bin/su 的内存副本,从而生成一个 root shell。
git clone https://github.com/beatbeast007/Linux-CopyFail-C-Version-CVE-2026-31431
cd Linux-CopyFail-C-Version-CVE-2026-31431bash
make
sudo ./copyfail
gcc src/copyfail.c -o copyfail -lz -Wall -Wextra -O2
./copyfail
该漏洞利用仅修改页缓存(内存中)。重启后原始二进制文件将恢复。 运行它会使 /usr/bin/su 被临时覆盖。 请尽快修补您的内核(查看您发行版的安全更新)。
官方分析文章:https://xint.io/blog/copy-fail-linux-distributions 原始 Python PoC:https://github.com/theori-io/copy-fail-CVE-2026-31431
本仓库仅用于教育目的。我对任何滥用行为概不负责。
MIT 许可证