Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-31431-check — 用于 CVE-2026-31431(algif_aead 本地提权)的只读检查器。报告内核/模块状态并给出缓解建议。 | Kitploit
工具/GitHubGitHub/haydenjames/cve-2026-31431-check
漏洞扫描器漏洞分析配置审计事件响应
GitHubhaydenjames/cve-2026-31431-check

CVE-2026-31431-check

用于 CVE-2026-31431(algif_aead 本地提权)的只读检查器。报告内核/模块状态并给出缓解建议。

查看仓库
33个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-31431 check

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

是 dirty-frag-check(CVE-2026-43284 / CVE-2026-43500)的配套工具。

AlmaLinux 9.7 上的示例输出

提醒:这是启发式检查。绿色判定结果并不保证安全。在判定某台主机安全之前,请先与你的发行版安全公告交叉核对。MIT 许可,不提供任何担保。

快速运行

root@kitploit:~
curl -fsSL https://github.com/haydenjames/CVE-2026-31431-check/releases/latest/download/cve-2026-31431.sh | bash

如果你不信任直接管道到 bash 的方式,请先阅读脚本内容:

root@kitploit:~
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 每台主机输出一行,因此你可以通过管道将它接入任意你已在使用的远程执行工具:

root@kitploit:~
# 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 权限;应用缓解措施才需要。

检查内容

  1. algif_aead 状态。 内置、可加载模块、已加载或不存在。读取 /boot/config-* 或 /proc/config.gz,否则回退到 lsmod。 1b. authencesn 状态。 根据上游公告,这才是真正包含缺陷的模块 —— algif_aead 只是其中一条入口路径,IPsec 是另一条。通过 lsmod/modinfo 和内核配置检测。
  2. AF_ALG 套接字。 用户态是否真的能打开 AF_ALG 套接字。检测 seccomp 和 LSM 的阻止(如果可用则使用 Python)。
  3. 缓解措施。 查找 modprobe 黑名单文件(针对任一模块),并通过 modprobe -n -v 验证黑名单确实生效。同时会标记那个流传甚广但不可用的 systemd [Manager] DefaultRestrictAddressFamilies 技巧 —— 该指令只对单元(units)生效,对 system.conf.d 无效。报告 SELinux 和 AppArmor 状态。
  4. 内核包与实际运行内核。 捕捉这种情况:你已安装打了补丁的内核,但尚未重启进入该内核。

判定结果

  • OK(正常) —— AF_ALG 不可达,或模块不存在,或你的黑名单生效。
  • REBOOT NEEDED(需要重启) —— 已安装打过补丁的内核,但你仍在运行旧内核。
  • VULNERABLE(存在漏洞) —— 模块已加载且未安装已修复内核,或模块已编译进内核且有可用的修复包。
  • LIKELY PATCHED(很可能已修复) —— 模块已加载,但运行中的内核已是最新。脚本无法内省已加载模块,以区分已修复版本与存在漏洞的版本,因此该判定交由你的包管理器决定。请与你的发行版 CVE 跟踪器确认。
  • AT RISK(存在风险) —— 模块可加载,且没有任何机制阻止其加载。
  • WAITING ON VENDOR PATCH(等待厂商补丁) —— 内核已是最新,但 algif_aead 已编译进内核。这是尽力而为的判定;它依赖 dnf check-update 的退出码,而这些退出码可能因无关原因(网络问题、元数据过期)而变为非零。在未查看发行版跟踪器之前,不要想当然地认为自己只能干等。

临时缓解措施

根据上游公告,该缺陷实际位于 authencesn 加密模块中 —— algif_aead 只是其中一条入口路径。为安全起见,请将两者都加入黑名单:

root@kitploit:~
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。

讨论

  • 上游公告:oss-security 邮件列表 —— 主要来源。
  • 论坛帖子:CVE-2026-31431 — danger(linuxcommunity.io)
  • 问题反馈:GitHub

致谢

以下是促成 v1.0.1 的 bug 报告:

  • u/throwaway234f32423df —— 指出 Ubuntu 的 kmod 黑名单更新未被检测到,导致已打补丁的 Ubuntu 主机被误判为 VULNERABLE。
  • u/aliendude5300 —— 指出已加载模块若已原地修补,仍会报告为 VULNERABLE。

许可证

MIT —— 见 LICENSE。

下载工具