Mrhudson69/cve-2026-31431

GitHub: Mrhudson69/cve-2026-31431

针对 Linux 内核 CVE-2026-31431 algif_aead 页缓存损坏漏洞的安全检测与内核缓解补丁脚本集,帮助运维人员在不影响业务服务的前提下完成漏洞修复。

Stars: 0 | Forks: 0

# CVE-2026-31431 "Copy Fail" — 检测与安全内核补丁脚本 # ⚡ 快速入门 ## 1. 检测脚本(安全,只读) 以普通用户身份运行: ``` curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/check_cve_2026_31431.sh -o check.sh && bash check.sh ``` 此脚本: * 仅执行只读检查 * 不修改系统 * 不利用漏洞 * 检查 `algif_aead` AEAD 绑定路径是否可达 ## 2. 补丁 / 缓解脚本 以 root 身份运行: ``` curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/patch_cve_2026_31431.sh -o patch.sh && sudo bash patch.sh ``` ## 3. Elastic Agent 卸载脚本 如果要从服务器移除 Elastic Agent,请以 root 身份运行: ``` curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/uninstall_elastic_agent.sh -o uninstall-elastic.sh && sudo bash uninstall-elastic.sh ``` 此脚本: * 查找已安装的 Elastic Agent 二进制文件 * 以非交互方式运行 `elastic-agent uninstall` * 验证二进制文件、服务和安装目录是否已被移除 # 🔥 重要提示:容器 / LXC / Docker 如果您处于以下环境中: * Docker * LXC * Proxmox 容器 (CT) * Kubernetes Pod * `wg-easy` 容器 * 任何容器化环境 您无法从容器内部修补宿主机内核。 脚本会自动检测容器并安全退出。 您必须在以下环境中运行补丁脚本: * Proxmox 宿主节点 * 实际的 Debian/Ubuntu 虚拟机宿主机 * 裸机 Linux 服务器 而不是在容器内部。 # 🛡️ 什么是 CVE-2026-31431? Linux 内核 `algif_aead` 加密接口中的一个缺陷允许无特权的本地用户通过 AF_ALG 操作损坏页缓存内容。 在受影响的内核配置下,这可能导致: * 本地提权 * 修改由页缓存支持的文件 * 通过可写的缓存二进制文件进行提权 此问题影响存在并可触及受影响 AEAD 优化逻辑的 Linux 内核版本。 # ✅ 支持的系统 | 操作系统 | 版本 | | ------------- | ----------------------------------- | | Ubuntu | 20.04 / 22.04 / 24.04 | | Debian | 11 / 12 / 13 | | Proxmox VE | 6.x / 7.x / 8.x / 9.x | | 通用 Linux | 任何使用受影响内核的发行版 | # 📁 脚本 ## check_cve_2026_31431.sh 安全的只读检测脚本。 ### 执行的检查 | 检查 | 描述 | | ------------------ | -------------------------------------- | | 内核版本 | 检查受影响的内核范围 | | 补丁状态 | 尝试识别已修补的内核 | | algif_aead 状态 | 检查模块加载 / 黑名单状态 | | AF_ALG Socket | 测试 `algif_aead` AEAD 绑定可达性 | | Python `os.splice` | 检查纯 Python 漏洞利用的可行性 | | Setuid 暴露 | 检测常见的 setuid 目标 | | 缓解措施 | 检查 AppArmor / SELinux / seccomp | ### 安全性 检测脚本: * 不写入文件 * 不修改内核设置 * 不安装软件包 * 不执行漏洞利用代码 ## patch_cve_2026_31431.sh 安全的仅限内核缓解 + 升级脚本。 专为以下环境设计: * 生产服务器 * Elasticsearch 节点 * Nginx 反向代理 * 数据库服务器 * Docker 宿主机 * Proxmox 节点 * AI/ML 服务器 * 监控基础设施 ## uninstall_elastic_agent.sh 用于从 Linux 服务器卸载 Elastic Agent 的安全辅助脚本。 专为以下环境设计: * 独立的 Linux 服务器 * Debian / Ubuntu 主机 * Proxmox 主机 * Elastic Agent 安装在 `/opt/Elastic/Agent` 下的系统 # 🔒 补丁脚本的功能 ## 1. 检测环境 * Ubuntu / Debian / Proxmox 检测 * 容器检测 * 内核识别 ## 2. 应用即时缓解措施 创建: ``` /etc/modprobe.d/cve-2026-31431-disable-algif-aead.conf ``` 内容: ``` blacklist algif_aead install algif_aead /bin/false ``` 然后尝试: ``` rmmod algif_aead ``` 这将阻止自动加载受影响的模块。 当 `update-initramfs` 可用时,脚本还会刷新 initramfs,以确保黑名单在重启后依然生效。 ## 3. 模拟软件包升级 在升级任何内容之前,脚本会执行: ``` apt-get -s install --only-upgrade ... ``` 如果任何非内核软件包将被升级: * Elasticsearch * Nginx * Docker * MSSQL * Redis * MongoDB * PostgreSQL * Kibana * 等等。 脚本将自动中止。 这可以防止意外的应用程序升级。 ## 4. 仅升级内核软件包 脚本仅升级: * Linux 内核软件包 * Proxmox 内核软件包 * 内核头文件 * initramfs/内核支持软件包 不会升级任何应用程序/运行时软件包。 ## 5. 重启后恢复 如果系统重新启动,补丁脚本现在会安装一个临时的一次性 `systemd` 服务,该服务将在下次启动时自动重新运行验证阶段。 这使得单次脚本运行可以涵盖: * 即时缓解 * 内核软件包安装 * 重启 * 重启后验证 # 🧪 Dry Run 模式 最安全的优先选项: ``` sudo bash patch.sh --dry-run ``` 此操作: * 执行所有检查 * 模拟升级 * 验证软件包安全性 * 不做任何系统更改 建议在生产环境部署前执行。 # 🔄 重启选项 ## 不重启 ``` sudo bash patch.sh --no-reboot ``` ## 立即重启 ``` sudo bash patch.sh --reboot-now ``` 使用 `--reboot-now` 时,脚本会在安排重启之前安装重启恢复钩子。 ## 稍后手动重启 ``` sudo reboot ``` 如果您使用 `--no-reboot` 或稍后手动重启,重启后的验证仍会在下次启动时自动恢复。 # 📋 生产环境安全说明 该脚本旨在避免触碰: * Elasticsearch * Kibana * Logstash * Nginx * Apache * MySQL * MariaDB * PostgreSQL * MongoDB * Redis * MSSQL * RabbitMQ * Docker * NodeJS * Python 运行时 * PHP * AI/ML 工作负载 但是: * 务必先在预发布环境中进行测试 * 务必先运行 `--dry-run` * 务必为内核重启安排维护时段 # 📝 日志 补丁日志: ``` /var/log/cve_2026_31431_kernel_patch.log ``` # 🔍 重启后验证 检查正在运行的内核: ``` uname -r ``` 再次运行检测: ``` bash check.sh ``` 验证模块黑名单: ``` cat /etc/modprobe.d/cve-2026-31431-disable-algif-aead.conf ``` # ⚠️ 免责声明 这些脚本仅用于防御性安全和系统管理目的。 不包含任何漏洞利用代码。 请始终: * 在执行前审查脚本 * 先在非生产环境中测试 * 在内核升级前维护备份/快照 使用风险自负。 # 📜 许可证 MIT 许可证 # 🔗 参考资料 * NVD CVE 条目 https://nvd.nist.gov/vuln/detail/CVE-2026-31431 * Linux 内核修复提交 https://git.kernel.org/linus/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5 * Ubuntu 安全公告 https://ubuntu.com/security * Debian 安全追踪器 https://security-tracker.debian.org/
标签:AF_ALG, algif_aead, CSV导出, CVE-2026-31431, Debian, Elastic Agent卸载, Linux内核漏洞, Proxmox, Shell脚本, Web截图, Web报告查看器, 内核补丁, 子域名枚举, 安全脚本, 容器安全, 应用安全, 开源安全工具, 本地提权, 漏洞缓解, 系统安全, 网络安全, 逆向工程平台, 隐私保护, 页面缓存