全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

CVE-2026-31431 漏洞修复公告

最近更新时间:2026-05-18 15:00:37

背景

CVE-2026-31431(又称 Copy Fail)为 Linux 内核 crypto 子系统的高危本地提权漏洞。该漏洞允许本地低权限攻击者利用 AF_ALG 加密接口与 splice() 系统调用,向任意可读文件的页缓存写入受控的 4 字节数据,进而篡改 setuid 二进制文件获得 root 权限。Linux kernel 社区对该漏洞的修复描述为:crypto: algif_aead - Revert to operating out-of-place,该漏洞 CVSS 评分7.8分,评级为高危。

更多详情可查阅:CVE-2026-31431GitHub关于CVE-2026-31431安全公告Linux Kernel 本地权限提升漏洞风险通告

影响范围

具体影响范围可参考Linux Kernel 本地权限提升漏洞风险通告

修复方案

存量节点

针对集群已有存量节点,平台提供三种修复方案,您可根据业务场景按需选择:

方案一:节点置换升级(彻底修复)

通过集群节点置换方式完成漏洞修复:先对节点执行驱逐将业务 Pod 迁移至其他节点,再将旧节点移出集群,同时新建节点加入集群,即可完成旧节点的替换升级。全流程支持控制台可视化快速操作,业务无感知。

新节点需使用已修复该漏洞的官方标准镜像,镜像版本更新详情请持续关注 KEC/EPC 官方标准镜像发布动态。

方案二:手动禁用 algif 模块(临时缓解)

可在存量节点本地执行以下脚本,完成 algif_aead 模块禁用:

前提:需具备节点的root权限。

#!/bin/bash
set -euo pipefail
# 1.uninstall mod algif_aead
if lsmod | grep algif_aead; then
    rmmod algif_aead
    echo "algif_aead uninstall"
else
    echo "algif_aead is not running"
fi

# 2.disable algif-aead
mkdir -p /etc/modprobe.d
cat > /etc/modprobe.d/disable-algif-aead.conf << EOF
install algif_aead /bin/false
blacklist algif_aead
EOF
echo "disable algif-aead"
echo "Finished!"
方案三:DaemonSet 集群批量修复(临时缓解)

通过部署DaemonSet资源,可对集群所有节点自动完成algif_aead模块的卸载、禁用并写入/etc/modprobe.d黑名单。

前提:该DaemonSet必须具有高权限,且挂载宿主机根目录。

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: disable-algif-aead
  namespace: kube-system
  labels:
    k8s-app: disable-algif-aead
spec:
  selector:
    matchLabels:
      k8s-app: disable-algif-aead
  template:
    metadata:
      labels:
        k8s-app: disable-algif-aead
    spec:
      hostNetwork: true
      hostPID: true
      containers:
      - name: disable-algif-aead
        image: busybox:1.36
        imagePullPolicy: IfNotPresent
        securityContext:
          privileged: true
        command: ["/bin/sh"]
        args:
        - "-c"
        - |
          set -euo pipefail
          # 1.uninstall mod algif_aead
          if lsmod | grep algif_aead; then
              rmmod algif_aead
              echo "algif_aead uninstall"
          else
              echo "algif_aead is not running"
          fi
          # 2.disable algif-aead
          mkdir -p /host/etc/modprobe.d; 
          echo 'install algif_aead /bin/false' > /host/etc/modprobe.d/disable-algif-aead.conf; 
          echo 'blacklist algif_aead' >> /host/etc/modprobe.d/disable-algif-aead.conf; 
          echo "disable algif-aead"
          echo "Finished!"
          tail -f /dev/null
        volumeMounts:
        - name: host-root
          mountPath: /host
      volumes:
      - name: host-root
        hostPath:
          path: /
          type: Directory
      tolerations:
      - operator: Exists
        effect: NoSchedule
      - operator: Exists
        effect: NoExecute

1. DaemonSet 方式可快速实现全集群节点批量修复,建议优先选取少量节点进行小范围测试验证,确认业务无异常后,再全量部署。

2. 现阶段绝大多数业务场景无需依赖 algif_aead 内核模块。若您的业务存在该模块调用场景,完成模块禁用或内核升级操作后,请重点校验业务功能的完整性,同时核查业务性能指标,确保业务正常运行。

3. 针对依托 AF_ALG 接口实现加解密的业务,升级至最新系统内核版本后,其功能保持正常,但algif_aead 模块理论性能将出现5%左右的下降,建议提前做好性能评估与业务适配。

增量节点

新增节点场景,根据节点使用系统镜像类型分以下情况进行差异化处理:

  • 标准镜像:使用云服务器官方标准镜像时,直接选用已完成漏洞修复的最新版本镜像即可,镜像版本更新详情请持续关注 KEC/EPC 官方标准镜像发布动态。

  • 自定义镜像:若使用自行制作并上传的镜像,需由用户自行完成镜像内核漏洞修复与版本维护。

  • 容器团队定制镜像:若使用容器团队提供的定制镜像,其默认不加载algif_aead 。可在新建节点时,使用部署前执行脚本完成algif_aead模块禁用以临时缓解。具体操作流程如下:

  1. 登录容器服务控制台

  2. 进入集群列表,选定目标集群,点击「新增节点」;

  3. 在节点配置页面展开高级配置,在「部署前执行脚本」输入框中粘贴本文方案二的脚本内容,即可自动完成algif_aead模块的禁用。

注:容器定制镜像已终止维护,无法持续提供安全补丁与版本更新,为有效规避漏洞风险、保障集群安全及业务稳定运行,建议优先使用官方标准镜像。

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈