Linux,  中标麒麟

记录银河麒麟系统如何修复处理CVE-2026-31431漏洞

 

零 项目背景

在2026年4月份月底,全网爆出一份Linux系统CVE-2026-31431漏洞。该漏洞大概的情况是,在机器可以访问互联网的情况下,普通用户可以通过下载并通过python3来执行某个脚本文件,进而通过提权直接拿到服务器的root权限。

我简单梳理了一下:如果机器上压根儿就没有普通用户,或者服务器没有访问互联网的权限,那么这个漏洞其实可以认为并没有多大影响。

当然,本着严谨谨慎的态度,有条件可以升级并修复该漏洞的话,尽量去修复一下。

关于该漏洞的影响范围,满互联网都是,我就不在这里拷贝粘贴,赘述了。

我们的某项目生产系统,运行在麒麟操作系统上,也在这次影响范围内,用户方也提出,希望我们可以修复该漏洞。

这篇文档,就是我修复该漏洞过程中写的记录和操作流程。

一 漏洞概要说明

漏洞编号:CVE-2026-31431

漏洞类型:Linux内核安全漏洞

影响组件:Linux内核algif_aead实现

问题根源:与2017年引入的一处优化改动相关

公开时间:2026-04-29

二 漏洞检测与修复流程

以root用户,在服务器上执行:

# 检测algif_aead配置状态(关键步骤)
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)

 

并根据返回值来判断如何修复:

输出结果配置状态影响程度修复优先级
CONFIG_CRYPTO_USER_API_AEAD=m以模块方式加载高,但可通过卸载模块缓解
CONFIG_CRYPTO_USER_API_AEAD=y编译进内核很高,需内核升级或重启紧急

如果返回值是m,表示以模块方式加载,则可以通过到麒麟官网下载对应的脚本来进行缓解修复:https://security-oss.kylinos.cn/Desktop/CVE-2026-31431/kylin_mitigate-CVE-2026-31431.zip

如果返回值是y,表示该模块已编译到内核,只能通过升级内核的方式来修复,具体可以参看官方:https://support.kylinos.cn/#/security/cveDetail?allTitle=CVE-2026-31431

 

好在我这里的机器是以模块方式来加载运行的。所以,我只需要下载官方的修复脚本,并执行就可以了:

[root@host-10-100-193-25 ~]# ll
总用量 2310232
-rw------- 1 root root       2760  4月 26  2023 anaconda-ks.cfg
-rw-r--r-- 1 root root    9192045  5月 29  2024 dbackup3-agent-8.0.52277-1.e706678.dbg.x86_64.rpm
-rw-r--r-- 1 root root    1134143  5月 29  2024 dbackup3-agent-file-8.0.52277-1.e706678.dbg.x86_64.rpm
-rw-r--r-- 1 root root   84336448  5月 29  2024 dbackup3-common-8.0.52277-1.e706678.dbg.x86_64.rpm
-rw-r--r-- 1 root root 1095266304  4月 24  2023 dm8_20230418_x86_rh6_64.iso
-rw-r--r-- 1 root root        101  4月 24  2023 dm8_20230418_x86_rh6_64.iso_SHA256.txt
-rw-r--r-- 1 root root 1082623788 10月 21  2024 dm8_20230418_x86_rh6_64.zip
-rw-r--r-- 1 root root   63350495 10月 22  2024 docker-20.10.9.tgz
-rw-r--r-- 1 root root       3112  4月 26  2023 initial-setup-ks.cfg
-rw-r--r-- 1 root root       6680  5月 21 11:47 kylin_mitigate-cve-2026-31431.sh
-rw-r--r-- 1 root root   10672684 12月 27  2024 node_exporter-1.8.1.linux-amd64.tar.gz
-rwxr--r-- 1 root root     299175  8月  7  2025 NSFOCUS-Agent-Linux_x86-1.0.run
drwxrwxr-x 8 root root        320 12月 27  2024 rlwrap-0.46.1
-rw-r--r-- 1 root root     382712 12月 27  2024 rlwrap-0.46.1.zip
drwxr-xr-x 6 root root         65  8月  1  2019 vmtools
-r--r--r-- 1 root root   18380837  4月 26  2023 vmtools-2.5.0.156.tar.bz2
[root@host-10-100-193-25 ~]# grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
CONFIG_CRYPTO_USER_API_AEAD=m
[root@host-10-100-193-25 ~]# chmod u+x kylin_mitigate-cve-2026-31431.sh
[root@host-10-100-193-25 ~]# ./kylin_mitigate-cve-2026-31431.sh
[开始] 检测到CONFIG_CRYPTO_USER_API_AEAD配置,系统受CVE-2026-31431漏洞影响。
[步骤1] 正在更新GRUB引导配置以禁用af_alg_init...
[信息] 当前为银河麒麟服务器操作系统。
[完成] GRUB配置文件已更新,在GRUB_CMDLINE_LINUX字段添加了af_alg_init启动黑名单。
[步骤2] 正在重新生成GRUB配置文件...
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.19.90-52.15.v2207.ky10.x86_64
Found initrd image: /boot/initramfs-4.19.90-52.15.v2207.ky10.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-be58adbfc1f44187919a1ea180f2f4a8
Found initrd image: /boot/initramfs-0-rescue-be58adbfc1f44187919a1ea180f2f4a8.img
done
[完成] 传统BIOS模式GRUB配置已更新。
[完成] GRUB配置更新完成,af_alg_init已加入启动黑名单。
[步骤3] 检测到CONFIG_CRYPTO_USER_API_AEAD=m(模块编译),正在禁用algif_aead内核模块...
[完成] 已创建模块禁用配置: /etc/modprobe.d/disable-algif-aead.conf
[信息] algif_aead模块当前未加载。
[步骤4] 正在查找并删除磁盘上的algif_aead模块文件...
[信息] 找到模块文件: /lib/modules/4.19.90-52.15.v2207.ky10.x86_64/kernel/crypto/algif_aead.ko.xz
[完成] 已删除模块文件: /lib/modules/4.19.90-52.15.v2207.ky10.x86_64/kernel/crypto/algif_aead.ko.xz
[结果] algif_aead模块已永久禁用并从磁盘删除,CVE-2026-31431漏洞缓解措施已生效。

[总结] CVE-2026-31431漏洞缓解措施已应用完成。
       - 启动参数已添加: initcall_blacklist=af_alg_init
       - 内核模块已禁用: algif_aead
       - 模块文件已从磁盘删除,防止后续加载
       - 当前已生效,无需重启
[root@host-10-100-193-25 ~]#

 

三 漏洞修复流程图

 

 

留言