whosfault/cve-2026-31431
GitHub: whosfault/cve-2026-31431
利用 Linux 内核 authencesn 加密接口的页缓存写入原语,通过篡改 setuid 二进制文件实现本地提权的 PoC。
Stars: 0 | Forks: 0
# copyfail — CVE-2026-31431
4 字节页缓存写入原语 → 破坏任意 setuid 二进制文件 → 获取 root
使用 fork + exec + 自动恢复的 便携式 c poc

## 用法
gcc -o copyfail copy_fail.c -lz
./copyfail
./copyfail /usr/bin/passwd
破坏内核页缓存中的目标文件,运行它,并在退出时恢复
## 原理
authencesn(hmac(sha256)cbc(aes)) + AF_ALG + splice()
→ 对任意可读文件的页缓存进行可控的 4 字节写入
authencesn 在 dst[assoclen+cryptlen] 处的 scratch write 恰好命中页缓存
recv() 返回 EBADMSG,但写入依然保留
每次以 4 字节注入到 text 段中,通过 fork+exec 触发执行
## 受影响版本
自 2017 年以来的所有 Linux 内核(commit 72548b093ee3)
ubuntu debian rhel amazon linux suse arch fedora wsl2 等
已由 a664bf3d603d 修复
## 备注
- 自动检测 wsl 与主线内核并调整 ALG 常量
- recv 返回 EBADMSG 属于预期行为,hmac 校验失败,但写入持续存在
标签:0day, 0day挖掘, AF_ALG, CVE-2026-31431, Debian, Linux内核漏洞, Page Cache, PoC, RHEL, Root提权, SetUID, Splice, Web报告查看器, WSL2, 代码执行, 任意写漏洞, 内核安全, 内核提权, 内核攻击, 加密算法, 协议分析, 安全渗透, 客户端加密, 提权Exploit, 数据展示, 暴力破解, 本地提权, 权限提升, 漏洞复现, 红队, 缺陷利用, 网络安全, 隐私保护