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报告查看器, 内核补丁, 子域名枚举, 安全脚本, 容器安全, 应用安全, 开源安全工具, 本地提权, 漏洞缓解, 系统安全, 网络安全, 逆向工程平台, 隐私保护, 页面缓存