cve-2026-31431是linux内核crypto子系统中algif_aead模块的高危本地提权漏洞,源于2017年引入的in-place优化缺陷,攻击者可通过af_alg+splice()向页缓存写入4字节可控数据,篡改setuid程序(如/usr/bin/su)实现100%可靠提权和容器逃逸,影响内核4.14至6.18.21等主流版本,修复需回退为out-of-place操作。

不能直接开启“自动修补”,必须拆解为“自动下载 + 人工确认 + 可控部署”三步,否则极易引发内核启动失败或服务中断。
区分 security 更新与普通更新
系统每天推送大量更新,但只有带明确安全标识的才该触发响应流程。混用会引入非预期变更:
- Debian/Ubuntu:
apt list --upgradable | grep security筛出含security字样的包;只对匹配结果做后续动作 - RHEL/CentOS/Rocky:
dnf update --security --advisory RHSA-2026:XXXX指定 CVE 对应的 errata 编号,避免全量升级 - SUSE:
zypper patch默认只拉取安全补丁集,无需额外过滤
跳过这步,apt upgrade 或 dnf update 可能装入功能更新,导致驱动不兼容或 systemd 版本跃迁,连 SSH 都起不来。
禁用自动安装和自动重启
所有发行版默认都不该允许自动执行安装或重启——这是生产环境最常踩的坑:
- Ubuntu/Debian:编辑
/etc/apt/apt.conf.d/50unattended-upgrades,设Unattended-Upgrade::Install-On-Shutdown "false"和Unattended-Upgrade::Automatic-Reboot "false" - RHEL 8+:在
/etc/dnf/automatic.conf中保持apply_updates = no,仅启用download_updates = yes - 加一条日志记录命令到 cron(如每天 6:00):
date >> /var/log/sec-update-check.log && apt list --upgradable 2>/dev/null | grep -E "(security|linux-image)" >> /var/log/sec-update-check.log
很多故障源于脚本偷偷重启了机器。你没收到邮件提醒,监控也没告警,就发现数据库连不上了——大概率是 Automatic-Reboot 被设成了 true。
内核更新必须人工介入三步
哪怕补丁已下载好,以下操作缺一不可,且顺序不能颠倒:
- 安装前记下当前默认内核:
grubby --default-kernel - 安装后确认新内核存在:
grubby --info=ALL | grep -A2 title,检查是否含目标版本(如vmlinuz-6.17.0-1007-aws) - 显式设置启动项:
grubby --set-default /boot/vmlinuz-6.17.0-1007-aws(RHEL系),或update-grub && grub2-set-default 0(需先grub2-mkconfig -o /boot/grub2/grub.cfg)
/etc/default/grub 必须保留 GRUB_DISABLE_OLD_KERNEL_DETECTION=false 并确保 GRUB_SAVEDEFAULT=true,否则旧内核菜单项会被自动清理,回滚无门。
验证必须交叉比对而非只看版本号
打完补丁不等于漏洞消失。CVE-2026-31431(Copy Fail)这类漏洞,光查 uname -r 不够,得结合多个维度确认:
- 查包版本:Debian系用
dpkg -l | grep linux-image,RHEL系用rpm -q kernel,比对是否 ≥ CVE 公告要求的最低修复版本 - 复扫验证:用
trivy fs /或lynis audit system对指定 CVE 编号专项重扫,不是只跑一遍全量扫描就完事 - 业务回归:重启后立刻执行
dmesg | grep -i "error\|warn"和lsmod | grep -E "(nvidia|vfio|igb)",确认关键驱动加载正常
最容易被忽略的是驱动兼容性验证——新内核可能让 NVidia 模块加载失败,但 uname -r 显示一切正常,业务却卡在登录界面。











