beatbeast007/Linux-CopyFail-C-Version-CVE-2026-31431

GitHub: beatbeast007/Linux-CopyFail-C-Version-CVE-2026-31431

CVE-2026-31431 Linux 本地提权漏洞的整洁 C 语言 PoC,通过内核加密子系统缺陷覆写页缓存实现提权。

Stars: 4 | Forks: 0

# Linux CopyFail - C 语言版本 - CVE-2026-31431 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 漏洞利用程序的移植。 ### 功能 - 整洁、注释完善的 C 代码 - 无需 Python 依赖 - 适用于受该漏洞影响的大多数 Linux 发行版(自 2017 年以来的内核版本) - 使用 `AF_ALG` + `authencesn` + `splice()` 原语 ### 工作原理(简单说明) 该漏洞利用了 Linux 内核加密子系统 (`algif_aead`) 中的一个逻辑缺陷。它允许无特权用户向任何可读文件(例如 `/usr/bin/su`)的页缓存中**写入 4 个受控字节**。 我们使用微小的 setuid shellcode 覆盖 `/usr/bin/su` 的内存副本,该 shellcode 会生成一个 root shell。 ### 构建与运行 image ``` 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 ``` ### 测试环境 - Kali Linux - Ubuntu 24.04 ## 免责声明 此漏洞利用仅修改页缓存(内存中)。重启即可恢复原始二进制文件。 运行此程序会导致 /usr/bin/su 被临时覆盖。 请尽快修补您的内核(请查看您所用发行版的安全更新)。 ## 参考 官方报告:https://xint.io/blog/copy-fail-linux-distributions 原始 Python PoC:https://github.com/theori-io/copy-fail-CVE-2026-31431 ## 法律声明 本仓库仅供教育目的使用。本人不对任何滥用行为负责。 ## LICENSE **MIT License**
标签:AF_ALG, algif_aead, authencesn, CVE-2026-31431, Page Cache, PoC, setuid, Shellcode, splice, Web报告查看器, 内存覆盖, 内核漏洞, 协议分析, 客户端加密, 技术调研, 数据展示, 暴力破解, 本地提权, 权限提升, 红队, 网络安全, 隐私保护