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

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

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

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

工具目录

分类

查看所有分类
Loading categories
ansible-role-cve-2026-31431 — Ansible 角色,用于应用并验证针对 CVE-2026-31431 的 modprobe.d 缓解措施,通过禁用 algif_aead 内核模块实现,并包含针对 Debian 系系统的安全检查。 | Kitploit
工具/GitHubGitHub/joltcan/ansible-role-cve-2026-31431
云基础设施安全漏洞分析配置审计DevSecOps
GitHubjoltcan/ansible-role-cve-2026-31431

ansible-role-cve-2026-31431

Ansible 角色,用于应用并验证针对 CVE-2026-31431 的 modprobe.d 缓解措施,通过禁用 algif_aead 内核模块实现,并包含针对 Debian 系系统的安全检查。

查看仓库

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
3个月前尚未审核

ansible-role-cve-2026-31431

用于应用(以及之后移除)针对 Linux 内核 AF_ALG / algif_aead 子系统中 CVE-2026-31431(“Copy Fail”)的 modprobe.d 缓解措施的 Ansible 角色。

已在 Debian 上测试。欢迎针对其他发行版、边缘情况或改进提交 Pull Request。

功能说明

该角色会在 /etc/modprobe.d/ 中写入一个配置片段,阻止 algif_aead 内核模块被加载:

root@kitploit:~
install algif_aead /bin/false

随后通过以下步骤验证缓解措施确实生效:

  1. 断言主机属于 Debian 系列(这是该技术唯一可靠生效的环境——请参阅下方警告)。
  2. 读取 /boot/config-$(uname -r),如果 AEAD 已编译进内核(CONFIG_CRYPTO_USER_API_AEAD=y)则拒绝运行——modprobe.d 无法阻止内建代码。
  3. 如果当前有进程持有 AF_ALG 套接字则发出警告(这些进程会将该模块固定在内存中,直到它们释放)。
  4. 确认 algif_aead 当前不在 lsmod 中。
  5. 运行一个小型 Python 脚本,打开一个 AF_ALG 套接字并尝试 bind() 到 aead/gcm(aes)。缓解措施生效后,bind 必须失败并抛出 FileNotFoundError。

无需重启。

要还原(例如在已安装修补内核后),请设置 cve_2026_31431_state=absent。

警告:modprobe.d 变通方案并非在所有环境中都有效

在 oss-security 上流传的缓解措施——将 install algif_aead /bin/false 写入 /etc/modprobe.d/ 并执行 rmmod 卸载模块——在 CloudLinux、AlmaLinux、RHEL 或任何其他 RHEL 系列发行版上无效,并且在将 AEAD 编译进内核的自定义内核上同样无效。

在这些系统上,algif_aead 已编译进内核(CONFIG_CRYPTO_USER_API_AEAD=y),因此:

  • modprobe.d 规则无法阻止加载(没有可加载的内容——代码已存在于内核镜像中)。
  • rmmod algif_aead 无法移除内建代码。

这些命令看似成功,但实际上系统未发生任何变化,从而造成一种虚假的安全感。您可以通过以下命令确认您的内核是否受影响:

root@kitploit:~
zgrep '^CONFIG_CRYPTO_USER_API_AEAD=' /boot/config-$(uname -r)
  • =m → 模块,本角色可以缓解。
  • =y → 内建,您需要内核更新 + 重启或 livepatch 订阅。本角色会检测到这种情况并拒绝运行。

变量

名称默认值说明
cve_2026_31431_statepresent设置为 absent 以移除缓解措施
cve_2026_31431_conf/etc/modprobe.d/disable-algif_aead.conf黑名单文件路径

使用方法

从 Ansible Galaxy 安装(推荐)

root@kitploit:~
ansible-galaxy install joltcan.cve_2026_31431
ansible-playbook -i <your-inventory> ~/.ansible/roles/joltcan.cve_2026_31431/playbook.yml

在修补内核运行后执行清理:

root@kitploit:~
ansible-playbook -i <your-inventory> ~/.ansible/roles/joltcan.cve_2026_31431/playbook.yml -e cve_2026_31431_state=absent

在您自己的 playbook 中使用

root@kitploit:~
- hosts: all
  become: true
  roles:
    - role: joltcan.cve_2026_31431

贡献

欢迎提交 Issue 和 Pull Request——特别是:

  • 针对 algif_aead 可加载的非 Debian 发行版(Arch、Gentoo、Alpine 等)的经过测试的支持。
  • 在没有 AF_ALG 用户活跃时安全卸载已加载的 algif_aead 的逻辑。
  • 用于 CI 的 Molecule 场景。

许可证

MIT——请参阅 LICENSE。

下载工具