一、Linux内核漏洞说明
CVE-2026-31431 是 Linux 内核 algif_aead 模块中存在的本地权限提升漏洞。
algif_aead 模块用于内核态 AEAD(Authenticated Encryption with Associated Data)操作。由于性能优化补丁引入了页缓存共享机制,攻击者可向任意可读文件的页缓存中写入受控的 4 字节数据,进而通过篡改 setuid 二进制文件实现本地提权并获取 root 权限。
总结一句话,只要获得普通用户权限,就可以通过该漏洞将权限提升至 Root。如果使用 Docker、Kubernetes 等共享内核或容器化环境的服务商和用户。这一漏洞更加危险。
不受影响版本:
- Linux Kernel >= 6.18.22
- Linux Kernel >= 6.19.12
- Linux Kernel >= 7.0
二、Linux内核漏洞通用修复方案
2.1、在线更新内核修复
建议优先通过系统包管理器升级内核,例如 apt、yum、dnf 等,内核出现漏洞,官方都会第一时间给出修复版本。只需升级内核即可。
bash
#在线更新内核修复漏洞【注意:建议在业务低峰期重启系统,使新内核正式生效】
# Debian/Ubuntu/银河麒麟桌面
sudo apt update
sudo apt full-upgrade
sudo reboot
# RHEL/Rocky/Alma/Oracle Linux/Fedora/openeuler/银河麒麟服务器/统信UOS(a和e版)
sudo dnf update kernel
sudo reboot
2.2、离线下载内核补丁修复
如果是内网环境,无法连接互联网,可通过下载内核补丁包,手动升级内核。找一台能连接互联网的机器,系统版本和生产环境版本一致,然后通过如下命令下载最新的内核补丁包:
注意:
- rpm安装参数不要使用
Uvh,U会更新内核,删除旧的内核版本,导致无法回滚。 - 新内核安装完成后,需要重启系统,默认就会以新的内核启动系统。
bash
#离线下载内核补丁修复漏洞
#1-下载最新的内核补丁包,仅仅下载,不安装,内核补丁包会放到 /data/bug/CVE-2026-31431 目录下
mkdir -p /data/bug/CVE-2026-31431
yum install --downloadonly --downloaddir=/data/bug/CVE-2026-31431 kernel
#2-将下载好的内核补丁包(rpm包)放到内网服务器中,执行安装即可
rpm -ivh kernel-5.10.0-312.0.0.215.oe2203sp4.x86_64.rpm
三、如何回滚到旧内核
如果内核升级失败,或者升级新内核后,导致业务异常,可通过回滚到老的内核,恢复业务。
bash
#回滚到旧内核方法
#1-查看系统当前的所有内核【0 表示是默认启动内核,也就是最新的内核版本】
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/efi/EFI/openEuler/grub.cfg
#2-切换内核(如:切换到内核1)
grub2-set-default 1
#3-查看系统当前使用的内核(即:缺省内核)
uname -a
grub2-editenv list
grubby --default-kernel
