【缝隙公告】runc容器逃逸缝隙(CVE-2024-21626)

颁布功夫 2024-02-02

 

一、缝隙概述

缝霞称

 runc容器逃逸缝隙

CVE   ID

CVE-2024-21626

缝隙类型

容器逃逸

发现功夫

2024-02-01

缝隙评分

8.6

缝隙等级

高危

攻击向量

本地

所需权限

无

利用难度

低

用户交互

必要

PoC/EXP

未公开

在野利用

未发现

 

2024年2月1日,宝运莱官方网站VSRC监测到互联网上披露多个主题容器基础设施组件中发现了4个缝隙(CVE-2024-21626、CVE-2024-23651、CVE-2024-23652 和 CVE-2024-23653),这些缝隙被称为Leaky Vessels,影响了Runc和BuildKit,威胁者可利用这些缝隙获得对底层主机操作系统的未授权接见。

runc 是一种 CLI 工具,用于凭据 OCI 规范在 Linux 上天生和运行容器。runc的使用极度矫捷,能够与各类容器工具和平台集成,如Docker、Kubernetes等。其中CVE-2024-21626涉及runc,runc 1.1.11及之前版本中,由于内部文件描述符泄漏,本地威胁者能够通过多种方式实现容器逃逸:威胁者能够通过使新天生的容器过程(来自runc exec)在主机文件系统定名空间中占有一个工作目录,或诱使特权用户运行恶意镜像并允许容器过程通过 runc run 接见主机文件系统,从而获得对主机文件系统的接见权限。这些攻击还可用于覆盖半肆意主机二进造文件,从而实现容器逃逸。

BuildKit 是Docker官方社区推出的下一代镜像构建组件,能够越发急剧、有效、安全地构建docker 镜像。Moby是Docker创建的一个开源项目,旨在实现软件容器化。BuildKi和Moby中还存在如下多个缝隙:

CVE-2024-23651:该缝隙的CVSS评分为8.7,在 BuildKit <= v0.12.4 中,并走运行的两个恶意构建步骤与子蹊径共享一样的缓存挂载可能会导致竞争前提,从而导致构建容器能够接见主机系统中的文件。只有当用户试图构建恶意项主张Dockerfile时,才会产生这种情况。

CVE-2024-23652:该缝隙的CVSS评分为10.0,在 BuildKit <= v0.12.4 中,使用 RUN --mount 的恶意 BuildKit 前端或 Dockerfile 可能会糊弄删除为挂载点创建的空文件的职能,从而从主机系统中删除容器表的文件。只有当用户使用恶意 Dockerfile 时才会产生这种情况。

CVE-2024-23653:该缝隙的CVSS评分为9.8。除了作为构建步骤运行容器表,BuildKit 还提供了基于构建镜像运行交互式容器的 API。在 BuildKit <= v0.12.4 中,能够使用这些 API 来要求 BuildKit 以提升的权限运行容器。通常,只有在 buildkitd 配置启用了 security.insecure 权限,并且初始化构建要求的用户允许的情况下,才允许运行此类容器。

CVE-2024-23650(中危):在 BuildKit <= v0.12.4 中,恶意 BuildKit 客户端或前端可造作一个要求,导致 BuildKit 守护过程因发急而崩溃。

CVE-2024-24557(中危):在 Moby <= v25.0.1 和 <= v24.0.8 中,若是镜像是重新构建的,经典的构建器缓存系统很容易出现缓存中毒。

 

二、影响领域

Runc <= 1.1.11

BuildKit <= 0.12.4

Moby (Docker Engine)<= 25.0.1 和<= 24.0.8

Docker Desktop <= 4.27.0

Containerd < 1.6.28

 

 

三、安全措施

3.1 升级版本

目前部门容器基础设施中已经建复了这些缝隙,受影响用户可升级到以下版本:

Runc >= 1.1.12

BuildKit >= 0.12.5

Moby (Docker Engine) >= 25.0.2 和 >= 24.0.9

Docker Desktop >= 4.27.1

Containerd >= 1.6.28

下载链接:

https://snyk.io/blog/leaky-vessels-docker-runc-container-breakout-vulnerabilities/

3.2 一时措施

如无法升级到建复版本,可遵循以下最佳实际来降低风险:

l  仅使用受信赖的 Docker 镜像(例如Docker 官方镜像)。

l  不要从不受信赖的起源或不受信赖的 Dockerfile 构建 Docker 镜像。

l  若是是使用 Docker Desktop 的 Docker Business 客户,并且无法在 v4.27.1 颁布后立即更新到该版本,请确保启用 Hardened Docker Desktop 职能,例如:

ü  加强的容器隔离(Enhanced Container Isolation),可在从恶意镜像运行容器的情况下减轻CVE-2024-21626的影响。

ü  镜像接见治理和注册表接见治理,可让企业节造用户能够接见哪些镜像和存储库。

l  对于 CVE-2024-23650、CVE-2024-23651、CVE-2024-23652 和 CVE-2024-23653,请预防使用来自不受信赖起源的BuildKit 前端。前端镜像通常在 Dockerfile 的 #syntax 行中指定,或在使用 buildctl build 号令时使用 --frontend 标志指定。

l  要缓解 CVE-2024-24557 的影响,请确保在构建镜像时使用 BuildKit 或禁用缓存。


3.3 通用建议

l  定期更新系统补丁,削减系统缝隙,提升服务器的安全性。

l  加强系统和网络的接见节造,批改防火墙战术,关关非必要的利用端口或服务,削减将危险服务(如SSH、RDP等)露出到公网,削减攻击面。

l  使用企业级安全产品,提升企业的网络安全机能。

l  加强系统用户和权限治理,启用多成分认证机造和最幼权限准则,用户和软件权限应维持在最低限度。

l  启用强密码战术并设置为定期批改。

3.4 参考链接

https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv

https://snyk.io/blog/leaky-vessels-docker-runc-container-breakout-vulnerabilities/

https://snyk.io/blog/cve-2024-21626-runc-process-cwd-container-breakout/

https://www.docker.com/blog/docker-security-advisory-multiple-vulnerabilities-in-runc-buildkit-and-moby/

 


四、版本信息

版本

日期

备注

V1.0

2024-02-02

初次颁布

 


五、附录

5.1 宝运莱官方网站简介

宝运莱官方网站成立于1996年,是由留美博士严望佳女士创建的、占有齐全自主知识产权的信息安全高科技企业。是国内最具实力的信息安全产品、安全服务解决规划的领航企业之一。

公司总部位于北京市中关村软件园宝运莱官方网站大厦,公司员工6000余人,研发团队1200余人, 技术服务团队1300余人。在全国各省、视注自治区设立分支机构六十多个,占有覆盖全国的销售系统、渠路系统和技术支持系统。公司于2010年6月23日在丽江中幼板挂牌上市。(股票代码:002439)

多年来,宝运莱官方网站致力于提供拥有国际竞争力的自主创新的安全产品和最佳实际服务,援手客户全面提升其IT基础设施的安全性和出产效力,为打造和提升国际化的民族信息安全产业领军品牌而不懈致力。

5.2 关于宝运莱官方网站

宝运莱官方网站安全应急响应中心已颁布1000多个缝隙公告微风险预警,我们将持续跟踪全球最新的网络安全事务和缝隙,为企业的信息安全保驾护航。

关注我们:

image.png