| 项目 | 内容 |
|---|---|
| CVE 编号 | CVE-2026-31431 |
| 漏洞名称 | Copy Fail |
| 漏洞类型 | Linux 内核本地提权 (LPE) |
| CVSS 3.1 评分 | 7.8 (HIGH) |
| CWE | CWE-669: Incorrect Resource Transfer Between Spheres |
| 影响范围 | 2017 年至 2026 年 4 月间构建的所有 Linux 内核 |
| CISA KEV | 已列入,截止修复日期 2026-05-15 |
| 公开时间 | 2026-04-29 |
2017 年内核在 algif_aead 加密模块中引入了一个原地加密优化(in-place optimization)。该优化导致 page-cache 页面被错误地放入可写的目标 scatterlist 中。攻击者通过 AF_ALG socket 与 splice() 系统调用组合,可向任意文件(包括 root 所有的只读文件)的 page cache 写入数据。
攻击链:AF_ALG socket → splice() → page-cache 写入原语 → 篡改 setuid 二进制文件 page cache → 执行该文件获取 root 权限
攻击特点:
| 发行版 | 受影响内核版本 |
|---|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws |
| Amazon Linux 2023 | 6.18.8-9.213.amzn2023 |
| RHEL 10.1 | 6.12.0-124.45.1.el10_1 |
| SUSE 16 | 6.12.0-160000.9-default |
Debian、Arch、Fedora、Rocky、Alma、Oracle 等发行版中相同内核范围同样受影响。
凡内核版本低于以下修复版本的均在受影响范围内:
| 稳定分支 | 最低修复版本 |
|---|---|
| 5.10.x | ≥ 5.10.254 |
| 5.15.x | ≥ 5.15.204 |
| 6.1.x | ≥ 6.1.170 |
| 6.6.x | ≥ 6.6.137 |
| 6.12.x | ≥ 6.12.85 |
| 6.18.x | ≥ 6.18.22 |
| 6.19.x | ≥ 6.19.12 |
| 7.0.x | ≥ 7.0-rc7 |
uname -r
将输出与上表中的修复版本对比,低于修复版本则受影响。
# 查看当前是否有 AF_ALG 连接
lsof | grep AF_ALG
# 查看 AF_ALG socket 状态
ss -xa | grep alg
lsmod | grep algif_aead
如果有输出说明模块已加载,存在被利用风险。
# 克隆 PoC 仓库
git clone https://github.com/cx330zer0/CVE-2026-31431-Copy-Fail-add-arm64.git
cd CVE-2026-31431-Copy-Fail-add-arm64
# 运行 PoC(需要非特权用户身份)
python3 copy-fail-dual-arch.py
如果 PoC 成功获取 root shell,说明系统存在该漏洞。