用于 algif_aead 本地 root 漏洞(CVE-2026-31431)的只读检查器。它会检查内核配置、模块状态、AF_ALG 套接字可达性以及你已实施的任何缓解措施,然后输出判定结果。它不会运行漏洞利用代码。
是 dirty-frag-check(CVE-2026-43284 / CVE-2026-43500)的配套工具。

提醒:这是启发式检查。绿色判定结果并不保证安全。在判定某台主机安全之前,请先与你的发行版安全公告交叉核对。MIT 许可,不提供任何担保。
curl -fsSL https://github.com/haydenjames/CVE-2026-31431-check/releases/latest/download/cve-2026-31431.sh | bash
如果你不信任直接管道到 bash 的方式,请先阅读脚本内容:
curl -fsSLO https://github.com/haydenjames/CVE-2026-31431-check/releases/latest/download/cve-2026-31431.sh
less cve-2026-31431.sh
chmod +x cve-2026-31431.sh && ./cve-2026-31431.sh
如需变更管理,可固定到某个发布标签:https://raw.githubusercontent.com/haydenjames/CVE-2026-31431-check/v1.0.3/cve-2026-31431.sh。
-q 以每行一台主机的方式输出批量结果。-h 显示帮助。退出码 0 表示正常,1 表示存在漏洞,2 表示未知。
-q 每台主机输出一行,因此你可以通过管道将它接入任意你已在使用的远程执行工具:
# parallel-ssh
parallel-ssh -h hosts.txt -i 'bash -s -- -q' < cve-2026-31431.sh
# ansible
ansible all -m script -a "cve-2026-31431.sh -q"
如果你的工具按状态进行汇总,退出码(0 正常、1 存在漏洞、2 未知)同样适用。
bash 4+,以及常用的 awk/grep/sed/lsmod/modprobe。如果系统中有 python3,它还会测试 AF_ALG 套接字的可达性;如果没有,则跳过该项检查。检查本身不需要 root 权限;应用缓解措施才需要。
algif_aead 状态。 内置、可加载模块、已加载或不存在。读取 /boot/config-* 或 /proc/config.gz,否则回退到 lsmod。
1b. authencesn 状态。 根据上游公告,这才是真正包含缺陷的模块 —— algif_aead 只是其中一条入口路径,IPsec 是另一条。通过 lsmod/modinfo 和内核配置检测。modprobe -n -v 验证黑名单确实生效。同时会标记那个流传甚广但不可用的 systemd [Manager] DefaultRestrictAddressFamilies 技巧 —— 该指令只对单元(units)生效,对 system.conf.d 无效。报告 SELinux 和 AppArmor 状态。algif_aead 已编译进内核。这是尽力而为的判定;它依赖 dnf check-update 的退出码,而这些退出码可能因无关原因(网络问题、元数据过期)而变为非零。在未查看发行版跟踪器之前,不要想当然地认为自己只能干等。根据上游公告,该缺陷实际位于 authencesn 加密模块中 —— algif_aead 只是其中一条入口路径。为安全起见,请将两者都加入黑名单:
sudo tee /etc/modprobe.d/disable-cve-2026-31431.conf <<'EOF'
install algif_aead /bin/false
install authencesn /bin/false
EOF
sudo rmmod authencesn algif_aead 2>/dev/null || true
如果 rmmod 提示 "module is in use"(模块正在使用中),说明机器上有程序正在积极使用 AF_ALG 或 IPsec(某些 VPN、磁盘加密、加密用户态工具)。不要强制卸载。请打补丁并重启。
如果易受攻击的代码已编译进你的内核,加入黑名单也无济于事。只有更新内核才能修复。
AlmaLinux 8、AlmaLinux 9.7、CentOS 7(TuxCare ELS)、Ubuntu 22.04、Ubuntu 24.04。
以下是促成 v1.0.1 的 bug 报告:
kmod 黑名单更新未被检测到,导致已打补丁的 Ubuntu 主机被误判为 VULNERABLE。MIT —— 见 LICENSE。