记录银河麒麟系统如何修复处理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 ~]#
三 漏洞修复流程图



