thrandomv/cve-2026-31431-detection
GitHub: thrandomv/cve-2026-31431-detection
针对 Linux 内核 CVE-2026-31431 本地提权漏洞的生产级多平台检测规则集合,覆盖完整攻击链并附带 SOC 分诊手册,不含任何攻击性代码。
Stars: 0 | Forks: 0
# CVE-2026-31431 "Copy Fail" — 防御性检测包
针对 CVE-2026-31431 的生产就绪型检测规则和分诊指导集合,该漏洞是由 Theori (Xint Code Research) 披露的 Linux 内核 `algif_aead` 加密接口中的本地提权漏洞。该漏洞利用了原位 AEAD 优化,允许非特权用户对任何可读文件的页缓存执行可控写入。本仓库提供了 Sigma 规则(包括一条行为链规则)、auditd 配置、用于容器的 Falco 规则、KQL 和 Elastic EQL 狩猎查询,以及一份逐步的分析师分诊手册。本仓库不包含任何漏洞利用代码 — 纯粹是供 SOC 分析师和检测工程师使用的防御性内容。
包含专为 auditd、eBPF 和 EDR 遥测管道设计的检测逻辑。
## 漏洞概述
| 字段 | 详情 |
|---|---|
| CVE | CVE-2026-31431 |
| 别名 | Copy Fail |
| 组件 | Linux 内核 `algif_aead` (AF_ALG 加密接口) |
| 类型 | 本地提权 (LPE) |
| CVSS | 7.8 |
| 原语 | 对任何可读文件的页缓存执行确定性的 4 字节可控写入 |
| 提权路径 | 污染 `/etc/passwd` 页缓存 → `getpwnam()` 返回 UID 0 → `su` 获取 root 权限 |
| 容器风险 | 如果宿主机内核未打补丁且 AF_ALG 未被 seccomp 阻止,这将成为一个容器逃逸原语 (T1611) |
| 补丁 | 将 `algif_aead` 恢复为非原位 AEAD 操作(上游) |
## 检测覆盖矩阵
| 阶段 | 可观察行为 | 检测 |
|---|---|---|
| 初始 | 非root用户的 AF_ALG 套接字 (family 38) | Sigma 规则 1 · auditd `afalg_socket` · Falco |
| 设置 | 使用 authencesn AEAD 字符串的 bind() | Sigma 规则 2 (关键字) · auditd `afalg_bind` |
| 漏洞触发 | 对 AF_ALG 文件描述符的 splice() | auditd `splice_syscall` · Falco/eBPF |
| 后置条件 | 来自非特权进程的 EBADMSG recv() | 系统调用链关联 · auditd |
| 影响 | /etc/passwd FIM 告警及访问激增 | 文件完整性监控 · /proc/\/fd |
| 权限切换 | AF_ALG 活动之后的 su 执行 | Sigma 规则 3 · auditd execve · PAM 日志 |
## MITRE ATT&CK 映射
- **T1068** — 利用漏洞进行提权 (Exploitation for Privilege Escalation)
- **T1611** — 逃逸到宿主机 (Escape to Host,容器场景)
## 补丁指导
应用上游修复,将 `algif_aead` 恢复为非原位 AEAD 操作。
发行版公告:
- RHEL: https://access.redhat.com/security/cve/CVE-2026-31431
- Ubuntu: https://ubuntu.com/security/CVE-2026-31431
- Debian: https://security-tracker.debian.org/tracker/CVE-2026-31431
- SUSE: https://www.suse.com/security/cve/CVE-2026-31431
**临时缓解措施(针对未打补丁的系统):**
将 `install algif_aead /bin/false` 写入 `/etc/modprobe.d/disable-algif-aead.conf`,
或者应用阻止 `AF_ALG` (family 38) `socket` 调用的 seccomp 配置文件。
## 误报说明
AF_ALG 套接字的主要合法使用者是 `cryptsetup` (LUKS)、`fscrypt` 以及一些支持内核加密的 VPN 客户端。在生产环境中,这些进程几乎完全以 root 身份运行,因此 `uid != 0` 过滤器可以消除绝大多数良性活动。特定的 AEAD 字符串 `authencesn(hmac(sha256),cbc(aes))` 没有已知的合法生产用途,一旦观察到即可视为严重威胁。
## 免责声明
本仓库仅包含防御性检测内容。不包含也不会添加任何漏洞利用代码、概念验证脚本、系统调用偏移量或 shellcode。
标签:AF_ALG, algif_aead, auditd配置, Cloudflare, Copy Fail, CVE-2026-31431, Docker镜像, EDR, EQL查询, Falco规则, KQL查询, Linux内核安全, LPE, MITRE ATT&CK, PB级数据处理, Sigma规则, SOC分析, Web报告查看器, x64dbg, 安全运维, 容器逃逸, 本地提权, 漏洞靶场, 目标导入, 红队防御, 网络安全, 脆弱性评估, 蓝军, 防御检测, 隐私保护