CVE-2026-31431 的防御性研究仓库,这是一个通过 AF_ALG、splice() 和 authencesn 造成页缓存损坏进而实现 Linux 内核本地权限提升的漏洞。包含技术分析、检测策略和缓解措施。
Copy Fail (CVE-2026-31431) 是一种影响Linux内核的本地权限提升(LPE)漏洞,通过AF_ALG、splice()和authencesn机制实现对页缓存的受控破坏。
本仓库的目标是:
⚠️ 本项目严格用于教育、防御和安全研究目的。
本仓库中展示的所有演示均在隔离且受控的实验室环境中完成。
未经明确授权,禁止在任何第三方系统上使用。
| 特征 | 详情 |
|---|---|
| 无竞争条件 | 确定性利用 |
| 不修改磁盘 | 难以检测 |
| 极简利用 | 仅需标准Python |
| 容器影响 | Kubernetes / VPS / 共享主机 |
| 窗口期长 | 自2017年起受影响的漏洞内核 |
可类比:
用户空间
↓
AF_ALG 套接字
↓
splice()
↓
页缓存引用
↓
authencesn 原地写入
↓
受控的4字节覆盖
↓
execve()
↓
权限提升
2011 → authencesn 被加入内核
2015 → AF_ALG 获得 AEAD + splice() 支持
2017 → 在 algif_aead.c 中引入原地优化
2026 → 发现并发布官方补丁
AF_ALG套接字接口,向用户空间暴露Linux内核的加密原语。
splice()一种无拷贝地在文件描述符之间传输页面的机制。
authencesnIPsec ESN的AEAD模板,将目标缓冲区用作临时工作空间。
在algif_aead.c中引入的优化允许通过sg_chain()将页缓存的页面直接链接到目标分散列表中。
输入SGL: AAD || 密文 || 标签(页缓存)
↑
输出SGL: AAD || 密文 ------+
authencesn随后直接向目标文件页缓存中的页面写入数据。
| 原语 | 控制能力 |
|---|---|
| 目标文件 | 任何可读文件 |
| 偏移量 | 通过splice控制 |
| 写入值 | seqno_lo字段 |
| 发行版 |
|---|
⚠️ 仅限于隔离的测试环境。
uname -r
lsmod | grep algif_aead
python3 --version
git clone https://github.com/theori-io/copy-fail-CVE-2026-31431.git
cd copy-fail-CVE-2026-31431
python3 copy_fail_exp.py
auditctl -a always,exit -F arch=b64 -S socket -F a0=38 -k af_alg_socket
auditctl -a always,exit -F arch=b64 -S splice -k splice_monitor
ps aux | awk '$1 == "root"'
ss -tlnp
algif_aeadecho "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo rmmod algif_aead
{
"defaultAction": "SCMP_ACT_ALLOW",
"syscalls": [
{
"names": ["socket"],
"action": "SCMP_ACT_ERRNO",
"args": [
{ "index": 0, "value": 38, "op": "SCMP_CMP_EQ" }
]
}
]
}
补丁a664bf3d603d删除了algif_aead.c中易受攻击的原地操作。
sudo apt update && sudo apt upgrade
sudo reboot
| 日期 | 事件 |
|---|---|
| 2017 | 漏洞引入 |
| 2026-03-23 | 报告给内核安全团队 |
| 2026-04-01 | 补丁合并 |
| 2026-04-29 | 公开披露 |
linux kernel security, CVE-2026-31431, copy fail, page cache, AF_ALG, authencesn, linux LPE, kernel exploit, linux hardening, security research, dirty pipe, kernel mitigation
本仓库仅用于以下目的:
任何未经授权的使用均属违法。
🛡️ 认知提升 • 缓解措施 • 防御性研究
🔁 向网络安全社区分享本项目
⭐ 支持Linux安全研究
| 项目 | 值 |
|---|
| 类型 | 本地权限提升 |
| 影响 | 本地root权限 |
| 组件 | Linux内核 |
| 子系统 | AF_ALG / authencesn |
| 原语 | 对页缓存的受控写入 |
| 条件 | 非特权用户 |
| 隐蔽性 | 磁盘文件未被修改 |
| 严重性 | 严重 |
| 持久性 | 仅在内存中 |
| 磁盘检测 | 不可能 |
| 内核版本 |
|---|
| 状态 |
|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws | ✅ 受影响 |
| Amazon Linux 2023 | 6.18.8-9.213 | ✅ 受影响 |
| RHEL 10.1 | 6.12.0 | ✅ 受影响 |
| SUSE 16 | 6.12.0 | ✅ 受影响 |
| 资源 |
|---|
| 描述 |
|---|
| Dirty Pipe | CVE-2022-0847 |
| Linux内核文档 | 官方文档 |
| Openwall Security | 安全邮件列表 |
| LWN.net | Linux内核分析 |
| AF_ALG文档 | 加密API |
| XFRM / IPsec | 相关子系统 |