rvizx/CVE-2026-31431

GitHub: rvizx/CVE-2026-31431

针对 Linux 内核 CVE-2026-31431 漏洞的本地提权 PoC,利用加密子系统页缓存越界写入实现无特权用户到 root 的提权。

Stars: 1 | Forks: 0

# CVE-2026-31431 - 复制失败 Copy Fail 是 Linux 内核加密子系统中的一个逻辑漏洞(CVE-2026-31431)。2017 年在 `algif_aead.c` 中的一项优化错误地将页缓存页面放入了可写的 scatterlist 中。`authencesn` AEAD 算法在解密时会向输出边界之外写入 4 个字节的临时数据,这些数据通过原位 scatterlist 直接落入了攻击者拼接进来的任何文件在内核中的缓存副本里。这使得无特权的本地用户能够对任何可读文件的页缓存进行受控的 4 字节写入,通过破坏 setuid 二进制文件可以轻易提权至 root。 本仓库包含使用 C 和 Python 编写的清晰、易读的 PoC 漏洞利用程序,已在 Ubuntu 24.04 LTS(内核 6.8.0-1012-aws)上验证通过。 ``` $ ./copy_fail # id uid=0(root) gid=1000(user) groups=1000(user) ```

Copy Fail exploit in action

Zyenra
Read the full writeup and exploit breakdown on zyenra.com

## 使用说明 ### Python(需要 3.10+) ``` git clone https://github.com/rvizx/CVE-2026-31431.git cd CVE-2026-31431 python3 copy_fail.py ``` ### C ``` git clone https://github.com/rvizx/CVE-2026-31431.git cd CVE-2026-31431 gcc -o copy_fail copy_fail.c ./copy_fail ``` ## 参考资料 - [copy.fail](https://copy.fail) - 由 Xint Code / Theori 发布的原始披露 - [Xint Code writeup](https://xint.io/blog/copy-fail-linux-distributions) - 完整的技术深度分析 - [Theori PoC](https://github.com/theori-io/copy-fail-CVE-2026-31431) - 原始的代码高尔夫版 Python PoC - [Kernel patch](https://github.com/torvalds/linux/commit/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5) - 主线修复补丁 ## 免责声明 仅供授权的安全测试和研究使用。请勿在您不拥有或未获得书面测试许可的系统上运行。该漏洞利用程序会修改 setuid 二进制文件的页缓存——所获得的 root shell 是真实的。 ## 作者 **Ravindu Wickramasinghe** ([@rvz](https://github.com/rvizx)) - [Zyenra Security](https://www.zyenra.com)
标签:CVE-2026-31431, LPE, PoC, Python, Web报告查看器, 内核漏洞, 加密子系统, 协议分析, 子域名枚举, 安全渗透, 客户端加密, 提权, 数据展示, 无后门, 暴力破解, 本地提权, 权限提升, 漏洞分析, 漏洞复现, 系统安全, 红队, 网络安全, 脏管道, 路径探测, 逆向工具, 隐私保护