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

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

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

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

工具目录

分类

查看所有分类
Loading categories
copyfail-mitigation — # 用于审计和缓解 CVE-2026-31431(“Copy Fail”)的 Ansible playbooks CVE-2026-31431(“Copy Fail”)是 Linux 内核 `algif_aead` 模块中的一个本地权限提升漏洞,自 2017 年起影响所有主流发行版。 | Kitploit
工具/GitHubGitHub/mahradbt/copyfail-mitigation
云基础设施安全漏洞分析配置审计DevSecOps事件响应
GitHubmahradbt/copyfail-mitigation

copyfail-mitigation

# 用于审计和缓解 CVE-2026-31431(“Copy Fail”)的 Ansible playbooks CVE-2026-31431(“Copy Fail”)是 Linux 内核 `algif_aead` 模块中的一个本地权限提升漏洞,自 2017 年起影响所有主流发行版。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-31431 — Copy Fail

Linux 内核 algif_aead 权限提升 / 内存破坏
基于 Ansible 的审计与缓解 playbook — 可直接在生产环境运行


概述

Copy Fail(CVE-2026-31431)是 Linux 内核 algif_aead 模块中的一个漏洞——该模块是 AF_ALG 加密套接字家族面向用户空间的 AEAD 接口。
内核在 AEAD 请求处理器内部的 copy_*user 路径中存在缺陷,允许本地非特权用户通过构造恶意套接字请求来破坏内核内存或提升权限。

字段详情
CVE IDCVE-2026-31431
别名Copy Fail
组件Linux 内核 — algif_aead(net/socket.c、crypto/algif_aead.c)
攻击向量本地
所需权限低(非特权用户)
影响内核内存破坏 / 本地权限提升
已修补上游内核补丁进行中 — 请咨询您的发行版厂商

受影响系统

如果 algif_aead 未加载,且没有用户空间工具按需加载它(请参阅审计步骤 1),则系统不存在直接风险。


影响一览


仓库结构

root@kitploit:~
.
├── audit_algif_aead.yml      # 步骤 1 — 审计:检测每台主机的暴露情况
├── mitigate_copyfail.yml     # 步骤 2 — 缓解:卸载 + 黑名单模块
└── README.md                 # 本文档

前置条件

  • 控制节点上安装 Ansible ≥ 2.14
  • community.general 集合(ansible-galaxy collection install community.general)
  • 目标主机上的 SSH 访问权限 + become: true(sudo)
  • 目标主机上安装 lsof(通常默认已安装)

清单配置

inventory.ini 已被 gitignore — 它仅保存在本地,绝不会进入仓库。 inventory.ini.example 是已提交的模板,供所有人作为起点使用。

root@kitploit:~
# 克隆并准备
git clone https://github.com/your-org/copy-fail-CVE-2026-31431.git
cd copy-fail-CVE-2026-31431
cp inventory.ini.example inventory.ini

# 使用真实主机编辑 inventory.ini,然后运行:
ansible-playbook -i inventory.ini audit_algif_aead.yml

以下路径已被 gitignore,以防止泄露基础设施数据:


步骤 1 — 审计

在触碰任何内容之前运行审计 playbook。它会收集每台主机的证据,并在本地和每台目标主机上写入报告。

root@kitploit:~
ansible-playbook -i inventory.ini audit_algif_aead.yml

报告会被拉取到 ./copyfail_reports/<hostname>_audit.txt。

审计检查内容

解读判定结果

条件建议操作
模块未加载即时风险低 — 监控内核补丁
模块已加载,无 AF_ALG 套接字用户可安全应用缓解措施
模块已加载且存在活跃的 AF_ALG 用户应用缓解措施前先审查进程
缓解文件已存在之前已应用缓解措施 — 请验证

步骤 2 — 缓解

请先运行审计。 缓解 playbook 可以安全地幂等运行,但审计能为您提供证据链。

root@kitploit:~
ansible-playbook -i inventory.ini mitigate_copyfail.yml

跳过特定主机(例如已确认依赖 kcapi 的主机):

root@kitploit:~
ansible-playbook -i inventory.ini mitigate_copyfail.yml \
  -e '{"skip_hosts": ["db-prod-01", "hsm-node-02"]}'

缓解措施的作用

  1. 创建 /etc/modprobe.d/disable-algif.conf,内容为 install algif_aead /bin/false
  2. 从运行中的内核卸载 algif_aead 模块(初始防护无需重启)
  3. 更新 initramfs,使黑名单在重启后仍然生效(Debian/Ubuntu 使用 update-initramfs,RHEL 使用 dracut --force)
  4. 将带时间戳的日志写入 /var/backup/copyfail_mitigation/mitigation.log

无需重启即可从内存中移除模块。
仍建议重启以确认黑名单生效,并建立干净的缓解后状态。


验证

playbook 完成后,在任意目标主机上验证:

root@kitploit:~
# 模块不得出现
lsmod | grep algif_aead

# 黑名单文件必须存在且包含 install 行
cat /etc/modprobe.d/disable-algif.conf

# 手动加载必须被拒绝
sudo modprobe algif_aead   # 预期:FATAL: Module algif_aead not found or refused

回滚(内核补丁发布后)

一旦您的厂商发布已修补的内核并已应用:

root@kitploit:~
# 在每台主机上 — 移除黑名单
sudo rm /etc/modprobe.d/disable-algif.conf

# 重建 initramfs
sudo update-initramfs -u        # Debian / Ubuntu
sudo dracut --force              # RHEL / CentOS / Amazon Linux

# 重启进入已修补的内核
sudo reboot

参考资料

  • CERT Europa 安全公告 2026-005
  • Ubuntu 安全通告 — Copy Fail
  • xint.io — 各 Linux 发行版中的 Copy Fail
  • Linux 内核 algif_aead 源码

许可证

根据 MIT 许可证 发布。
使用风险自负。在应用于生产系统之前,请务必在预发布环境中进行验证。


由社区维护。欢迎提交 PR 和问题报告。

下载工具
发行版受影响版本状态
Ubuntu 22.04 / 24.04低于已修补版本的内核补丁待发布 — 请参阅 Ubuntu USN
Debian 12(Bookworm)低于已修补版本的内核补丁待发布
RHEL / AlmaLinux / Rocky 8 和 9低于已修补版本的内核补丁待发布
Amazon Linux 2 / 2023低于已修补版本的内核补丁待发布
通用上游已编译或自动加载 algif_aead若模块存在则存在漏洞
子系统受此 CVE 影响?受缓解措施影响?
dm-crypt / LUKS否否
kTLS否否
IPsec / StrongSwan否否
OpenSSL(默认构建)否否
GnuTLS / NSS否否
OpenSSH否否
OpenSSL afalg 引擎可能受影响是 — 应用前请先审查
kcapi-enc / kcapi-dgst 工具是是
Gitignore 路径原因
inventory.ini真实主机名 / IP
inventories/任何本地清单目录
copyfail_reports/审计输出包含内核版本、进程列表
.vault_passAnsible Vault 密码文件
*.retryAnsible 重试产物
检查项命令判定
内核版本uname -r仅供参考
模块是否已加载?lsmod | grep algif_aead已加载 = 存在暴露风险
活跃的 AF_ALG 套接字lsof | grep AF_ALG发现用户 = 必须审查
OpenSSL afalg 引擎openssl engine | grep afalg活跃 = 审查影响
kcapi 工具是否存在which kcapi-*存在 = 潜在用户
缓解措施是否已应用stat /etc/modprobe.d/disable-algif.conf存在 = 已缓解