732字节提权root,这个内核漏洞让银行运维连夜加班

适合人群:Linux运维、安全运维、容器运维,尤其是银行/金融行业。
用3分钟了解风险,用30秒确认自己的系统是否中招。


一、看到PoC的那一刻,我就知道这次麻烦了

CVE-2026-31431(代号"Copy Fail")是近几年见过最"优雅"的提权漏洞——优雅是反话,懂的都懂。

第一,利用门槛极低。 732字节的Python脚本,不需要编译,不需要精准计时,不需要抢竞态窗口——跑完就是root。这意味着任何一个会用复制粘贴的人,都能拿你服务器的root权限。

第二,成功率接近100%。 不像2016年的Dirty Cow(脏牛),需要靠运气抢时间窗口,利用不稳定。这个漏洞是直线逻辑缺陷,内核自己就把路铺好了。而且它不会导致系统崩溃,攻击者可以反复尝试——你连报错日志都看不到。

第三,隐蔽到离谱。 它只改内存里的页缓存(page cache),不改磁盘文件。内核不标记为"脏页",所以不会回写磁盘。你用 aidetripwire 做完整性校验,全部显示正常——但内存里跑的 /usr/bin/su 早就被替换了。

说直白点:

你的安全检测工具告诉你"一切正常",但系统早就被攻陷了,攻击者可以随时再来一次。

对银行运维来说,这简直是噩梦。

生产环境大量用容器,而页缓存是宿主机和所有容器共享的。容器内一个普通用户(哪怕是被攻击的Web应用),可以篡改宿主机内存里的 /usr/bin/su,直接拿宿主机root。

容器逃逸,一条命令的事。

基本信息:

  • 影响范围:2017年以来几乎所有Linux内核(4.14 ~ 6.18.21)
  • CVSS评分:7.8(高危)
  • PoC公开时间:2026年4月
  • 修复内核版本:6.18.22+ 或 7.0+

二、漏洞原理

splice() 是个高效的系统调用,负责在两个文件描述符之间零拷贝搬数据。问题出在它和内核加密接口 AF_ALG 配合使用时,逻辑上有个致命缺陷。

攻击者做的事情很简单:

  1. 准备一个加了后门的伪造 /usr/bin/su
  2. 通过 AF_ALG 接口,让内核把恶意内容读进页缓存
  3. 内核不把这个页标记为"脏页"——这是关键
  4. 恶意内容留在内存里,但永远不会写回磁盘

你用 rpm -Vdebsums 做文件完整性校验,磁盘上的文件100%正常。但实际执行的 /usr/bin/su,内存里的版本早就被替换了。

打个比方:有人偷偷把你家灯开关的线改了,房产证上还是你的名字,查房产证查不出问题,但一按开关——灯不亮,或者亮了不该亮的地方。


三、你的系统受影响吗?

30秒跑一下:

uname -r
  • 版本在 4.14 ~ 6.18.21 之间 → 受影响
  • 6.18.22+7.0+安全

记不住版本号也没关系:内核第二位小于18的(比如 5.15.x、6.6.x),基本可以确定中招。


受影响的主流LTS版本

  • 6.12、6.6、6.1、5.15、5.10
  • 4.14 ~ 5.9 之间的所有版本(这段很多文章都漏掉了,银行老系统尤其要注意)

银行生产环境里还有不少 CentOS 7(3.10内核,不受影响)和 Ubuntu 18.04(4.15内核,受影响),别想当然,逐台确认。


各发行版修复情况(截至2026年5月9日)

发行版 受影响版本 修复状态 建议
Ubuntu 24.04/22.04/20.04 LTS 全部受影响 26.04 才安全,前面版本等推送中 关注官方公告
RHEL 8/9/10 全部受影响 官方公告还没出 联系红帽技术支持
Amazon Linux 2023及更早 受影响 还没修复 关注AWS安全公告
SUSE 12 SP5 ~ 16 部分版本有补丁 部分已修复 查询SUSE安全公告
Debian Bookworm/Bullseye 受影响 安全源里还没有修复内核 关注Debian安全跟踪
openEuler 24.03 LTS 受影响 官方还在调查 关注openEuler公告

发行版修复状态随时在变,具体以各发行版官方公告为准


四、信创系统应对

银行现在大量上信创,这块情况比较特殊。

国产厂商响应速度比想象中快——坏消息是截至2026年5月9日,还有几个主流系统没完全修复。

以下信息仅供参考,生产操作前请务必联系各厂商技术支持。


银河麒麟

项目 内容
受影响版本 桌面 V10、V11;服务器 V10、V11
官方进展 4月30日发布修复公告,国产厂商中响应最快
修复方式 联网环境系统更新;内网环境下载官方deb包
临时缓解 官方提供一键缓解脚本
获取支持 麒麟软件官网安全公告 + 官方技术支持

升级后务必用 uname -r 确认实际运行内核版本,银河麒麟V10 SP1修复前后分别为 5.4.18-142-generic5.4.18-161-generic


统信UOS

项目 内容
受影响版本 UOS 1060、UOS 1070
官方进展 已发布修复补丁,内核从 #6302 升级至 #6336
修复方式 公网环境控制中心更新;内网环境使用离线补丁工具
获取支持 统信官网安全公告 + UOS技术支持团队

openEuler

项目 内容
受影响版本 openEuler 24.03 LTS
官方进展 4月30日起加急修复,五一假期内发布补丁
获取支持 openEuler安全公告 + 社区技术支持

麒麟信安

项目 内容
官方进展 5月5日完成4.19、5.10、6.6三个内核系列修复
获取支持 麒麟信安安全公告 + 建议提前联系技术支持

银行环境内核升级风险高,别自己闷头搞。


一个实用的自检方法(适用所有国产系统)

除了看内核版本,还可以查内核编译配置:

grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
  • 输出 =y=m → 功能已启用,系统处于风险状态
  • 输出 is not set 或没有输出 → 功能没开,不受影响

即便不受影响,也建议密切关注厂商安全公告。


五、银行运维处置建议

银行环境变更窗口受限、需要双人复核、业务连续性优先,不能像互联网公司那样说重启就重启。

思路仅供参考,结合各行实际流程来。


阶段一:紧急响应(发现漏洞2小时内)

目标: 摸清家底,先控风险再谈修复。

  1. 全量资产扫描,确认受影响服务器清单

    • 用CMDB或批量运维工具,批量确认内核版本
    • 筛选出4.14~6.18.21范围内的主机
    • 按业务重要性排优先级
  2. 在测试环境验证缓解措施

    • 找一台测试机,模拟禁用 algif_aead 模块
    • 跑核心业务回归,确认不影响业务再往下走
  3. 制定生产环境处置策略

    • 临时缓解:禁用 algif_aead 模块(联系厂商确认方案)
    • 长期修复:等修复内核推送后,制定升级计划
    • 回退方案是必须的,没有就不准上
  4. 通知安全团队做影响评估

  5. 根据监管要求,评估是否需要上报

    • 涉及核心系统的,通常需要24小时内上报监管
    • 准备漏洞影响范围、处置方案、时间计划等材料
    • 上报内容一般包括:
      • 漏洞基本信息(CVE编号、危害等级、影响范围)
      • 本行受影响系统清单(按核心/非核心分类)
      • 已采取的临时缓解措施
      • 后续修复计划和时间表
    • 具体上报要求以各行监管合规部门规定为准

千万不要在生产环境直接操作,务必先在测试环境验证。


临时缓解措施(测试环境验证后再执行)

如果暂时无法升级内核,可以先禁用漏洞触发模块:

情况一:模块可卸载

# 1. 禁止模块加载
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf

# 2. 卸载已加载的模块
rmmod algif_aead
# 若提示 "Module algif_aead is not currently loaded" 可忽略

# 3. 清空文件系统缓存
sync && echo 3 > /proc/sys/vm/drop_caches

情况二:模块内置(无法卸载)

如果卸载时提示 Module algif_aead is builtin,说明该模块编译进内核了,需要通过grub参数禁用:

# 1. 编辑grub配置
vi /etc/default/grub

# 2. 在 GRUB_CMDLINE_LINUX 行末尾添加
GRUB_CMDLINE_LINUX="... initcall_blacklist=algif_aead_init"

# 3. 更新grub配置
# RHEL/CentOS/Rocky:
grub2-mkconfig -o /boot/grub2/grub.cfg
# Ubuntu/Debian:
update-grub

# 4. 重启系统
reboot

验证缓解措施生效:

# 确认模块未加载
lsmod | grep algif_aead   # 应无输出

# 确认配置文件存在
cat /etc/modprobe.d/disable-algif-aead.conf

阶段二:持续跟进(24小时到7天)

  1. 盯着各发行版安全公告,等修复内核出来
  2. 制定升级计划,回退方案不能少
  3. 在UAT环境先跑48小时,确认稳定后再走变更
  4. 按批次安排生产升级(先非核心,后核心)
  5. 升级完运维和安全一起复测

阶段三:验证闭环(升级后必做)

  1. uname -r 确认内核版本已修复
  2. 确认缓解配置(临时禁用项)有没有被误删
  3. 检查有没有异常的SUID文件
  4. 用漏洞扫描工具复测,确认漏洞已修复

六、几个常被问到的问题

Q1:禁用 algif_aead 会影响业务吗?

大多数业务不受影响,但务必在测试环境验证

不受影响的情况:

  • LUKS/dm-crypt磁盘加密(走内核内部接口,不走AF_ALG)
  • OpenSSL(有自己的加密实现,不依赖内核AF_ALG)
  • SSH(用OpenSSL或自己的加密库)
  • IPsec(大多数发行版默认配置不受影响)

需要逐一确认的(可能影响):

  • 某些硬件加密加速程序(如Intel QAT的AF_ALG绑定)
  • 明确使用 AF_ALG socket的自定义用户态加密程序

建议先在测试环境禁用,跑一遍核心业务回归,没问题再推生产。


Q2:容器/K8s环境怎么防?

宿主机和容器两层都要防,单一层不够。

防护层级 建议措施 难度 效果
宿主机层 禁用 algif_aead 模块
容器运行时层 用seccomp profile阻断AF_ALG socket创建
容器配置层 readOnlyRootFilesystem: true + runAsNonRoot: true 额外防护
网络层 限制容器间不必要的通信 有一定效果

银行生产环境建议:宿主机禁用 + 容器配置加固同时做,双保险。


Q3:怎么确认系统已经被攻击了?

说实话,检测非常困难。它不修改磁盘文件,aidetripwire 全部失效。

几个可以试试的思路:

  1. 对比内存和磁盘上 /usr/bin/su 的哈希值(需要特殊工具读内存文件内容)
  2. 检查异常SUID文件,重点看 /tmp/dev/shm/var/tmp
  3. 检查有没有不常见的Python进程
  4. 如果开了 auditd,查有没有异常的 AF_ALG 相关系统调用记录

能做的是:加一条审计规则,把尝试加载 algif_aead 的行为记录下来,至少能在事后溯源时发现异常。


写在最后

CVE-2026-31431让我想起2016年的Dirty Cow。同样是内核提权,同样是影响范围极广,同样是PoC公开之后运维连夜加班。

但这次更棘手。Dirty Cow需要抢竞态窗口,利用不稳定;这个漏洞是直线逻辑缺陷,稳定触发,还能通过共享页缓存实现容器逃逸,而且只改内存页缓存,几乎不留痕迹。

漏洞永远修不完,但响应速度可以决定损失大小。


今天就能做的事:

  1. 跑一遍 uname -r,确认服务器内核版本
  2. 版本在 4.14 ~ 6.18.21 之间的,列入处置清单
  3. 联系厂商技术支持,获取官方处置建议
  4. 在测试环境验证缓解措施(如果计划采用)
  5. 制定详细的升级计划,含回退方案

免责声明: 本文仅供信息安全风险告知和技术交流使用,不构成具体技术操作指导。文中提及的排查和处置方法仅供参考,生产环境操作前请务必联系系统厂商技术支持,在测试环境充分验证并制定回退方案。因参考本文内容进行任何操作而导致的问题、损失或安全风险,本文作者概不负责。


🎁 免费领取:CVE-2026-31431 处置资源包

一个人面对0day时的慌乱,不该由你独自承担。

我整理了一份实战资源包,帮你把慌乱变成有序:

资源名称 内容说明 适用场景
一键检测脚本 check_cve_2026_31431.sh 自动检测系统是否受漏洞影响(内核版本+模块检查+异常检测) 快速摸清家底
处置检查清单 分阶段处置步骤(紧急响应→持续跟进→验证闭环),含操作SOP 规范处置流程,避免遗漏
信创系统修复追踪表 银河麒麟/统信/UOS/openEuler 修复状态实时更新 信创环境应对

获取方式(仅需2步)

  1. 长按识别 关注公众号「云间豹变」
  2. 回复关键词 CVE31431(注意大小写),自动获取下载链接

💬 你还可能需要

  • 回复 漏洞预警 → 订阅Linux/容器安全漏洞预警(每周更新)
  • 回复 银行运维 → 获取银行运维实践文章合集
  • 回复 容器安全 → 容器逃逸/加固实战指南

本文处置思路已收录至小程序「OpsKit运维宝典」,微信搜索即可查看。
资源包持续更新,建议关注后留意后续推送。
最后更新:2026年5月10日

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐