通过
algif_aead(AF_ALG)实现 Linux 内核本地权限提升 CVSS 7.8 高危 | 公开披露:2026 年 4 月
以普通用户身份运行:
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 绑定路径是否可达以 root 身份运行:
curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/patch_cve_2026_31431.sh -o patch.sh && sudo bash patch.sh
如需从服务器卸载 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 uninstall如果您位于以下环境中:
wg-easy 容器您无法从容器内部修补宿主机内核。
脚本会自动检测容器环境并安全退出。
您必须在以下位置运行补丁脚本:
而不是在容器内部。
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 套接字 | 测试 algif_aead AEAD 绑定可达性 |
Python os.splice | 检查纯 Python 漏洞利用可行性 |
| Setuid 暴露 | 检测常见的 setuid 目标 |
| 缓解措施 | 检查 AppArmor / SELinux / seccomp |
检测脚本:
patch_cve_2026_31431.sh安全的内核专用缓解 + 升级脚本。
适用于:
uninstall_elastic_agent.sh用于从 Linux 服务器卸载 Elastic Agent 的安全辅助脚本。
适用于:
/opt/Elastic/Agent 下安装了 Elastic Agent 的系统创建:
/etc/modprobe.d/cve-2026-31431-disable-algif-aead.conf
内容:
blacklist algif_aead
install algif_aead /bin/false
然后尝试:
rmmod algif_aead
这将阻止存在漏洞的模块自动加载。
当 update-initramfs 可用时,脚本还会刷新 initramfs,以确保黑名单在重启后可靠生效。
在升级任何内容之前,脚本会执行:
apt-get -s install --only-upgrade ...
如果任何非内核软件包将被升级:
脚本将自动中止。
这可以防止意外的应用程序升级。
脚本仅升级:
不会升级任何应用程序/运行时软件包。
如果系统重启,补丁脚本现在会安装一个临时的一次性 systemd 服务,在下次启动时自动重新运行验证阶段。
这使得单个脚本运行可以覆盖:
首先使用最安全的选项:
sudo bash patch.sh --dry-run
这将:
建议在生产环境部署前使用。
sudo bash patch.sh --no-reboot
sudo bash patch.sh --reboot-now
使用 --reboot-now 时,脚本会在安排重启之前安装重启恢复钩子。
sudo reboot
如果您使用 --no-reboot 或稍后手动重启,重启后验证仍会在下次启动时自动恢复。
该脚本设计为避免触及:
但是:
--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 许可证
Linux 内核修复提交 https://git.kernel.org/linus/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
Ubuntu 安全公告 https://ubuntu.com/security
Debian 安全跟踪器 https://security-tracker.debian.org/