Gr-1m/CVE-2026-31431

GitHub: Gr-1m/CVE-2026-31431

针对 CVE-2026-31431 Linux 内核本地提权漏洞的 Golang 利用工具,通过污染页缓存实现 root 权限获取与容器逃逸。

Stars: 0 | Forks: 0

# CVE-2026-31431 — 复制失败 [中文版](README_zh.md) **仅需 732 字节即可在所有主要 Linux 发行版上获取 Root 权限** [CVE-2026-31431](https://copy.fail/) (Copy Fail) 是 Linux 内核 `authencesn` 加密模板中的一个逻辑缺陷。它允许无特权的本地用户在系统上任何可读文件的页缓存中触发确定性的、受控的 4 字节写入。 ## 概述 - **CVE ID:** CVE-2026-31431 - **类型:** 本地权限提升 / 容器逃逸 - **受影响范围:** 启用了 `CONFIG_CRYPTO_AUTHENC` 的 Linux 内核(基本上涵盖自 2017 年以来的所有主要发行版) - **发现者:** [Xint Code Research Team](https://xint.io/),Theori 研究员 Taeyang Lee 提供了初步见解 ## 工作原理 该缺陷链式触发了两种行为: 1. **AF_ALG + splice**: `splice()` 通过引用将页缓存中的页面传输到 AF_ALG 套接字的 scatterlist 中。对于 AEAD 就地解密模式,标签页(来自目标文件的页缓存)通过 `sg_chain()` 仍然链接到输出 scatterlist。 2. **authencesn scratch write**: `crypto_authenc_esn_decrypt()` 使用 `dst[assoclen + cryptlen]`(越过标签,进入页缓存的页面)作为 ESN 序列号重排的暂存空间,写入 4 个攻击者可控的字节且从不恢复它们。 被破坏的页面**从未被标记为脏页**,因此磁盘上的文件保持不变。但是内存中的页缓存才是实际被读取的内容——这使得这种破坏在系统范围内立即可见。 ## 漏洞利用 该漏洞利用每次以 4 字节为单位,使用小型的 shellcode payload 破坏 `/usr/bin/su`(或任何 setuid 二进制文件)的页缓存。在所有迭代完成后,运行 `su` 即可执行该 payload 并获取一个 root shell。 ### Python (exp.py)
需要 Python 3.10+(用于 `os.splice`)。仅使用标准库模块。
``` python3 exp.py ``` ### Golang (exp.go)
无 Python 依赖。编译并运行: ``` go run exp.go go build -ldflags "-w -s" -trimpath -o exp exp.go tinygo build -o exp exp.go ``` ## 影响 | 能力 | 详情 | |---|---| | **通用性** | 相同的脚本适用于 Ubuntu、Amazon Linux、RHEL、SUSE 等——无需针对特定发行版调整偏移量 | | **极其微小** | Python 漏洞利用程序仅约 732 字节 | | **隐蔽性** | 绕过 VFS 写入路径;页面从未标记为脏页;磁盘上的校验和保持不变 | | **跨容器** | 页缓存在容器之间共享——构成容器逃逸向量(见第二部分) | ## 参考 - [copy.fail — 官方公告](https://copy.fail/) - [Xint 博客 — Copy Fail:732 字节获取 Root 权限](https://xint.io/blog/copy-fail-linux-distributions) - [NVD 条目](https://nvd.nist.gov/vuln/detail/CVE-2026-31431) - [C 语言重写版本](https://github.com/luotian2/CVE-2026-31431) ## 免责声明 本仓库发布仅出于教育和防御性研究目的。请勿在您不拥有或未获得明确测试授权的系统上使用此代码。
标签:0day, 0day挖掘, AF_ALG, Copyfail, CSV导出, CVE-2026-31431, EVTX分析, Exploit, Golang, Go语言, Linux内核漏洞, LPE, Page Cache, setuid, shellcode, splice, Web报告查看器, 内核安全, 子域名枚举, 安全渗透, 安全编程, 容器逃逸, 密码学模块, 提权, 提权漏洞, 日志审计, 本地提权, 漏洞复现, 程序破解, 系统安全, 网络安全, 逆向工具, 隐私保护, 页面缓存