CVE-2026-31431 (Copy Fail) 漏洞排查脚本

漏洞概述
CVE-2026-31431 (Copy Fail) 是 Linux 内核本地提权漏洞,通过 AF_ALG 套接字(address family 38)结合 splice() 零拷贝系统调用,绕过文件写权限篡改页缓存(page cache),实现无写权限的 SUID 二进制文件篡改,进而获取 root 权限。
攻击链
socket(AF_ALG, SOCK_SEQPACKET, 0) # 创建 AF_ALG 套接字
-> bind(authencesn(hmac(sha256),cbc(aes))) # 绑定 AEAD 加密模板
-> sendmsg(AEAD 操作) # 触发内核加密路径
-> splice(-> 目标文件) # 零拷贝写入,绕过权限检查
-> 篡改 /usr/bin/su 等 SUID 文件 # 提权至 root
受影响内核版本
脚本功能
- 漏洞检测: 内核版本判定 + algif_aead 四态分析 + 缓解措施检查
- 入侵排查: SUID 页缓存对比 + 模块加载历史 + Shell 历史扫描 + 系统文件完整性 + 日志审计 + 容器检测
- 修复建议: 三种防御方式(modprobe.d / initcall_blacklist / 升级内核),分发行版给出具体命令
- 应急响应: 发现入侵迹象时自动输出完整应急流程
快速使用
# 下载脚本
wget https://raw.githubusercontent.com/tangjie1/CVE-2026-31431-Check/main/cve-2026-31431-check.sh
# 赋予执行权限并运行(需要 root)
chmod +x cve-2026-31431-check.sh
sudo ./cve-2026-31431-check.sh
# 无交互模式(适用于自动化/CI)
sudo ./cve-2026-31431-check.sh --non-interactive
检测项说明
第一部分:漏洞检测 [1/3]
第二部分:入侵排查 [2/3]
第三部分:修复建议 [3/3]
适配系统
Ubuntu / Debian / Kali / CentOS / RHEL / Rocky / AlmaLinux / Fedora / openSUSE / Arch Linux / Alpine Linux
License
MIT License
免责声明
本工具仅用于安全研究和授权渗透测试。使用者需确保遵守当地法律法规,在获得明确授权的目标系统上使用。开发者不对任何未授权使用后果负责。