赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 容器服务 Kubernetes 版 ACK
  4. 产品概述
  5. 动态与公告
  6. CVE漏洞修复
  7. 漏洞CVE-2024-0132和CVE-2024-0133公告

漏洞CVE-2024-0132和CVE-2024-0133公告

  • CVE漏洞修复
  • 发布于 2025-04-18
  • 1 次阅读
文档编辑
文档编辑

NVIDIA Container Toolkit 1.16.1及以下版本在使用默认配置时存在一个TOCTOU竞态条件攻击漏洞。该漏洞不会影响容器设备接口(CDI)的使用,但若被成功利用,可能导致容器逃逸,使攻击者能够在宿主机上执行任意命令或获取敏感信息。已知的攻击场景需要受害者使用恶意镜像,并在容器内通过NVIDIA Container Toolkit操作GPU资源。关于漏洞的详细信息,请参见NVIDIA Container Toolkit,建议您及时修复。

影响范围

集群中的GPU节点安装了NVIDIA Container Toolkit组件,且组件版本为1.16.1及以下。

防范措施

在漏洞未修复之前,建议避免在集群中运行不可信的容器镜像,以确保系统的安全性和稳定性。可参见以下两种方案。

  • 参见启用安全策略管理启用ACKAllowedRepos策略,限制只使用可信仓库来源的镜像,同时基于最小化权限原则确保只有可信人员具有导入镜像的权限。

  • 使用容器镜像加签和使用kritis-validation-hook组件实现自动验证容器镜像签名功能,确保部署容器应用镜像的安全完整性。

解决方案

本解决方案仅适用于ACK集群Pro版、ACK集群基础版、ACK专有集群、ACK灵骏集群的托管节点池、ACK Edge集群的云端节点池。

  • 如果您的集群类型为ACK灵骏集群,且节点池为灵骏节点池,请提交工单处理。

  • 如果您的集群类型为ACK Edge集群,且节点池为边缘节点池,修复方式请参见CVE-2024-0132和CVE-2024-0133修复方案。

前置条件

如果您的集群中安装了cGPU模块,请确保其版本为1.1.0及以上。如未安装cGPU模块,请跳过。确认集群是否安装cGPU模块及升级方式如下。

展开查看如何升级cGPU模块

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

  2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择应用 > Helm。

  3. 在Helm详情页面,查看组件版本。

    • 如果您的集群同时存在ack-ai-installer和ack-cgpu,请提交工单处理。

    • 如果您的集群安装了ack-ai-installer组件,且版本为1.7.5以下,请升级ack-ai-installer组件。相关操作,请参见升级共享GPU调度组件。

    • 如果您的集群安装了ack-cgpu组件,且版本为1.5.1以下,请单击组件右侧更新,按照页面指引完成组件的升级。

  4. 相关组件升级完成后,针对集群中存量cGPU节点,请参见升级节点cGPU版本。

修复方案

  • 新建GPU节点:针对2024年10月27日及之后新建的GPU节点,ACK已在1.20及以上版本的集群中发布了NVIDIA Container Toolkit v1.16.2,可自动完成修复。

    若您的集群版本较低,建议您及时升级版本,请参见升级集群。

  • 存量GPU节点:针对2024年10月27日之前创建的存量GPU节点,均需通过执行CVE修复脚本进行手动修复。您可以展开下方折叠面板查看手动修复方案。

    说明
    • 在修复过程中,请分批进行节点修复操作,避免同时修复所有节点,以确保系统稳定性。

    • 修复过程中会重启节点上正在运行的业务Pod。请在业务低谷期进行。

    展开查看手动修复方案

    步骤1:节点排水

    控制台

    1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

    2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点。

    3. 在节点页面中勾选目标节点并单击最下方节点排水,在弹出框中单击确定。

    kubectl

    1. 执行以下命令,设置指定的节点为不可调度状态。

      kubectl cordon <NODE_NAME>
    2. 执行以下命令,进行节点排水操作。

      kubectl drain <NODE_NAME> --grace-period=120 --ignore-daemonsets=true

    步骤2:节点上执行修复脚本

    1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

    2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点。

    3. 在节点页面中勾选目标节点并单击最下方批量运维,在弹出框中选中执行 Shell 命令后,单击确定。

    4. 在弹出系统运维管理(OOS)的基本信息页签中,参见如下表格进行配置,然后单击下一步:设置参数。

      配置项

      参数

      执行描述

      修复NVIDIA Container Toolkit CVE

      模板类别

      公共任务模板

      模板选择

      ACS-ECS-BulkyRunCommand

      执行模式

      失败暂停

    5. 在设置参数页签中单击运行Shell脚本,并将如下CVE修复脚本放入命令内容中,单击下一步:确定。

      #!/bin/bash
      set -e
      # 设置节点所在的Region。
      export REGION=$(curl 100.100.100.200/latest/meta-data/region-id 2>/dev/null)
      
      if [[ $REGION == "" ]];then
          echo "Error: failed to get region"
          exit 1
      fi
      
      cd /tmp
      
      curl -o upgrade_nvidia-container-toolkit.tar.gz  https://aliacs-k8s-${REGION}.oss-${REGION}-internal.aliyuncs.com/public/pkg/nvidia-container-runtime/upgrade_nvidia-container-toolkit.tar.gz
      
      tar -xf upgrade_nvidia-container-toolkit.tar.gz
      
      cd pkg/nvidia-container-runtime/upgrade/common
      
      bash upgrade-nvidia-container-toolkit.sh
    6. 在确定页签中核对创建信息,确认无误后单击创建。

    7. 任务执行成功后,在系统运维管理控制台左侧导航栏,选择自动化任务 > 任务执行管理,找到并单击对应任务执行ID。然后在执行步骤和结果区域查看输出。

      • 如果脚本输出如下内容,表明当前节点环境不存在CVE漏洞,机器上未执行任何变更,可忽略。

        2024-10-22/xxxx  INFO  No need to upgrade current nvidia-container-toolkit(1.16.2)
      • 如果脚本输出如下内容,那么表示该节点环境存在NVIDIA Container Toolkit漏洞且已被修复。

        2024-10-10/xxxxx  INFO  succeed to upgrade nvidia container toolkit

    步骤3:上线节点

    控制台

    1. 登录容器服务管理控制台,在左侧导航栏选择集群列表。

    2. 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点。

    3. 在节点页面中勾选目标节点并单击最下方设置调度状态,在弹出框选中设置为可调度,然后单击确定。

    kubectl

    执行以下命令,进行节点上线操作。

    kubectl uncordon <NODE_NAME>

    (可选)步骤4:验证GPU节点

    完成上述操作以后,建议参考如下文档中的示例YAML部署一个GPU应用,验证节点是否能够正常工作。

    • 独占GPU:使用Kubernetes默认GPU调度。

    • 共享GPU:运行共享GPU调度示例。

相关文章

漏洞CVE-2025-23359公告 2025-04-18 11:43

NVIDIA Container Toolkit 1.17.3及以下版本在处理CUDA前向兼容性时存在安全漏洞。当容器镜像内存在恶意构造的软链接文件时,libnvidia-container会错误地将主机目录以只读模式挂载到容器内部。攻击者可利用该漏洞绕过容器隔离机制,导致敏感信息窃取或主机权限提升

漏洞CVE-2025-1097、CVE-2025-1098、CVE-2025-1974、CVE-2025-24513、CVE-2025-24514公告 2025-04-18 11:43

Kubernetes社区披露了Nginx Ingress相关的一系列安全漏洞,包括CVE-2025-1097、CVE-2025-1098、CVE-2025-1974、CVE-2025-24513、CVE-2025-24514等。 漏洞影响

漏洞CVE-2025-0426公告 2025-04-18 11:43

Kubernetes社区披露了安全漏洞CVE-2025-0426。未认证的攻击者可以向kubelet HTTP只读端口发送大量容器Checkpoint请求,导致磁盘空间迅速被占满,从而完成针对集群节点的DoS拒绝服务攻击。 该漏洞被评估为中危漏洞,CVSS评分为6.4。关于该漏洞的更多信息,请参见#

漏洞CVE-2024-40635公告 2025-04-18 11:43

containerd社区披露了CVE-2024-40635安全漏洞,容器启动时,当设置的UID或GID超过32位有符号整数的最大值时,会导致溢出且最终以root用户(UID 0)的身份启动。攻击者可以利用该漏洞要求容器在非root用户运行的环境下进行非预期的越权攻击。 该漏洞被评估为中危漏洞,CVS

漏洞CVE-2024-10220公告 2025-04-18 11:43

Kubernetes社区披露了安全漏洞CVE-2024-10220。该漏洞允许拥有创建Pod权限的攻击者通过部署Pod并关联gitRepo存储卷,以执行超出容器边界的任意命令。攻击者利用目标Git仓库中的钩子文件夹,逃逸到容器外完成命令执行攻击。 该漏洞被评估为高危漏洞,在CVSS评分为8.1。关于

漏洞CVE-2024-0132和CVE-2024-0133公告 2025-04-18 11:43

NVIDIA Container Toolkit 1.16.1及以下版本在使用默认配置时存在一个TOCTOU竞态条件攻击漏洞。该漏洞不会影响容器设备接口(CDI)的使用,但若被成功利用,可能导致容器逃逸,使攻击者能够在宿主机上执行任意命令或获取敏感信息。已知的攻击场景需要受害者使用恶意镜像,并在容器

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号