文档首页/ 华为云UCS/ 服务公告/ 漏洞公告/ runC漏洞对UCS服务的影响说明(CVE-2024-21626)
更新时间:2024-03-06 GMT+08:00
分享

runC漏洞对UCS服务的影响说明(CVE-2024-21626)

漏洞详情

runC是一个基于OCI标准实现的一个轻量级容器运行工具,是Docker、Containerd、Kubernetes等容器软件的核心基础组件。近日,runC社区发布最新版本,修复了一处高危级别的容器逃逸漏洞(CVE-2024-21626)。由于内部文件描述符泄漏,攻击者可通过控制容器进程的工作目录,或命令路径,将其设置为文件描述符的父级目录下的路径,读写主机任意文件,实现容器逃逸。

表1 漏洞信息

漏洞名称

CVE-ID

漏洞级别

披露/发现时间

runC漏洞

CVE-2024-21626

2024-02-01

漏洞利用条件

UCS服务的正常使用场景不受此漏洞影响,仅当攻击者具备以下条件之一时,可利用该漏洞:

  • 攻击者具有集群工作负载的创建或更新权限。
  • 集群中工作负载的容器镜像来源不可信,攻击者拥有修改源镜像权限。

漏洞影响

满足上述漏洞利用条件时,容器进程可能逃逸到节点,导致节点信息泄露或执行恶意命令。

典型漏洞利用场景

  • 攻击者具有集群工作负载的创建或更新权限,创建工作负载时设置容器进程的WORKDIR为/proc/self/fd/<num>,以实现在容器运行后访问节点文件系统。
  • 工作负载的容器镜像来源不可信,攻击者拥有修改源镜像权限,将镜像中WORKDIR设置为/proc/self/fd/<num>,以实现在容器运行后访问节点文件系统。

判断方法

该漏洞范围涉及中国站本地集群和国际站多云集群类型,同时集群中工作负载配置或容器镜像具备如下特征时,可能存在风险:

  • 工作负载中容器进程的WORKDIR为 /proc/self/fd/<num>。
    图1 有安全风险的工作负载配置示例
  • 工作负载的容器镜像中默认WORKDIR或启动命令包含 /proc/self/fd/<num>。

    可通过以下命令查看容器镜像元数据:

    • docker运行时执行:docker inspect <镜像ID>
    • containerd运行时执行:crictl inspecti <镜像ID>
    图2 有安全风险的工作负载配置示例

漏洞修复方案

规避措施

  • 配置工作负载的WORKDIR为固定目录。
  • 若未设置工作负载WORKDIR目录,需确保工作负载使用的容器镜像来源可信。

执行以上规避措施前,请评估对业务的影响,并进行充分测试。

修复方案

当前UCS已修复该漏洞,请您使用最新版本的本地集群和多云集群。

相关文档