CopyFail (CVE-2026-31431) 缓解指南 - 多发行版指南
本仓库包含用于缓解 CopyFail (CVE-2026-31431) 漏洞的详细教程和脚本。该漏洞影响 Linux 内核的加密子系统 (AF_ALG),允许普通用户将本地权限提升 (LPE) 至 root。
📁 仓库结构
本仓库按发行版组织,便于在特定基础设施环境中应用:
- /Ubuntu: 适用于 Ubuntu 20.04、22.04 和 24.04 的指南。
- /RockyLinux: 适用于 Rocky Linux 8 和 9(RHEL 标准)的指南。
- /Debian: 适用于 Debian 12 和 13 (Trixie) 的指南。
- /openSUSE: 适用于 openSUSE Leap 15.x 的指南。
- /Scripts: 自动化验证和监控脚本。
🚀 如何使用本材料
- 快速验证
在应用任何更改之前,您可以通过 Python 执行测试命令来检查攻击向量在您的系统上是否处于活动状态:
Bash
python3 -c "import socket; s=socket.socket(socket.AF_ALG, socket.SOCK_SEQPACKET, 0); s.close(); print('VETOR ATIVO')" 2>/dev/null || echo "✅ Protegido/Vetor Bloqueado"
- 选择缓解方法
文件夹中的 PDF 和 Markdown 教程涵盖两种场景:
- 方法 A(模块黑名单):适用于 algif_aead 作为模块 (=m) 加载的内核。无需重启。
- 方法 B(Initcall 黑名单):适用于代码已内建 (=y) 的内核。需要修改 GRUB 并重启。
🛠️ 包含的脚本
在本仓库中,我们提供了 check-copy-fail.sh,用于自动化审计:
- 检查当前内核配置 (/boot/config-*)。
- 尝试加载易受攻击的模块。
- 验证 /proc/cmdline 中是否存在通过 GRUB 的缓解措施。
⚠️ 重要警告(免责声明)
- 测试环境:在应用到生产环境之前,请始终在预发布环境中测试缓解措施。
- 影响:阻止 algif_aead 可能会影响依赖内核原生加密 API 的应用程序(尽管大多数应用程序使用 OpenSSL 或用户空间库)。
- 最终解决方案:这些缓解措施是临时的。最终解决方案是通过包管理器(apt、dnf、zypper)更新内核,一旦您的发行版发布官方补丁即可。
🤝 贡献
如果您发现其他发行版需要变通方案,或对监控脚本有改进建议,欢迎提交 Issue 或发送 Pull Request。
📞 支持与联系
由 Vox Cia. 团队开发。
本材料根据 MIT 许可证分发。欢迎在您的组织中自由分享和使用。
GitHub 提示:
- 创建目录:创建文件夹(Ubuntu、Rocky 等)并将 PDF 文件放入其中。
- 创建 .txt 或 .md 版本:除了 PDF 之外,最好在 GitHub 中提供文本格式的内容,以便内部搜索引擎索引这些命令。
- LICENSE:不要忘记添加一个名为 LICENSE 的文件(可以是 MIT 或 Apache 2.0),以便人们知道他们可以自由使用您的代码。
本 README 与您已经制作的技术内容保持一致,并展现出极其专业的形象。