ben-slates/CVE-2026-31431-Exploit

GitHub: ben-slates/CVE-2026-31431-Exploit

针对 Linux 内核 algif_aead 页缓存「Copy Fail」漏洞(CVE-2026-31431)的本地提权概念验证代码,通过 splice 与 AEAD 加密接口的交互缺陷破坏页缓存实现权限提升。

Stars: 2 | Forks: 0

# CVE-2026-31431 ("Copy Fail") 漏洞利用 针对 **CVE-2026-31431** 漏洞的专业概念验证代码,该漏洞是 Linux 内核 `algif_aead` / `authencesn` 页缓存处理中的一个严重缺陷。 ## 概述 **CVE-2026-31431** 漏洞,通常被称为 **"Copy Fail"**,涉及一个于 2026 年 4 月 29 日披露的页缓存临时写入 Bug。它允许无特权的本地用户破坏 `/etc/passwd` 或 `/usr/bin/su` 等系统关键文件的页缓存视图,而无需修改磁盘上的文件,从而实现**本地权限提升 (LPE)**。[1] ## 漏洞摘要 `algif_aead` 组件执行原地 AEAD(带有相关数据的认证加密)操作。当源数据通过 `splice()` 从常规文件馈入时,目标 scatterlist 会引用该文件的页缓存页。`authencesn(hmac(sha256), cbc(aes))` 算法将 AAD 的 `seqno_lo` 字段作为 4 字节的“临时”写入目标中,直接破坏了页缓存副本。[1] ### 受影响的发行版 | 发行版 | 状态 | | :--- | :--- | | **Ubuntu 24.04 LTS** | 已确认存在漏洞 | | **Amazon Linux 2023** | 已确认存在漏洞 | | **RHEL 14.3** | 已确认存在漏洞 | | **SUSE 16** | 已确认存在漏洞 | ## 工具包组件 | 文件 | 描述 | | :--- | :--- | | `exploit.py` | 针对系统二进制文件的 LPE 原语的紧凑实现。 | ## 用法 (LPE) 使用提供的漏洞利用脚本获取 root 权限的 shell: ``` python3 exploit.py ``` 该脚本自动化了 `/usr/bin/su` 或 `/etc/passwd` 的页缓存破坏过程以提升权限。建议用户在执行前彻底检查代码,因为它会与敏感的系统组件进行交互。 ## 技术细节 核心原语利用了以下序列: 1. 使用 8 字节 AAD 和特定的 AEAD 控件初始化 `sendmsg`。 2. 通过 `splice()` 将目标文件描述符传输到操作 socket 中。 3. 触发 `recv()`,该操作将在返回错误之前执行临时写入。 ## 缓解措施 在部署修补过的内核之前,应禁用 `algif_aead` 模块: ``` sudo tee /etc/modprobe.d/disable-algif-aead.conf <<<'install algif_aead /bin/false' sudo rmmod algif_aead 2>/dev/null ``` ## 法律授权 ## 许可证与品牌 - 本项目基于 [MIT 许可证](LICENSE) 授权。 - 有关官方资产和视觉指南,请参阅 [brand.md](brand.md)。 ## 参考文献 [1] [Xint 博客:Copy Fail - Linux 发行版披露](https://xint.io/blog/copy-fail-linux-distributions) © 2026 BEN
标签:0day, AEAD, algif_aead, Amazon Linux 2023, authencesn, Copy Fail, CVE-2026-31431, EoP, exploit.py, Linux内核漏洞, LPE, Page-Cache, PoC, RHEL, Root提权, splice, SUSE, Ubuntu 24.04, Web报告查看器, 二进制漏洞, 内存损坏, 协议分析, 子域名枚举, 安全渗透, 提权脚本, 数据展示, 暴力破解, 本地提权, 权限提升, 系统安全, 红队, 网络安全, 逆向工具, 隐私保护, 页面缓存污染