# 如何修复CVE-2024-21626漏洞 2024 年 2 月 1 日,runc 社区公开了一个 [runc 容器逃逸的公告](https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv), 编号为 **CVE-2024-21626** ,其根因是由于 runc 存在内部文件描述泄露漏洞,攻击者可以利用该漏洞,越权访问容器所在主机的整个文件系统。 DCE 5.0 安装器特此发布了 v0.15.2 版本,将 **containerd** 版本升级到了 **1.7.13** ,runc 版本升级到 **v1.1.12** 。 也就是说,基于 v0.15.2 版本的 DCE 5.0 环境创建的集群不受该漏洞影响。 !!! note 安装器升级到 v0.15.2 版本后,支持的集群版本从 v1.26.0 ~ v1.29.0 更新为 v1.27.0 ~ v0.29.1。 ## 解决方案 ### 前提条件 确认集群范围,目前有以下两种方式: - 如果是 v1.27.0 ~ v0.29.1,按照[升级 DCE 5.0 组件](../upgrade.md)进行升级,升级成功后参考下文操作步骤的 [更新组件版本配置](#_5)、[下发组件升级任务](#_6)即可。 - 前往 [kubean](https://github.com/kubean-io/kubean) 查看发布的[制品](https://kubean-io.github.io/kubean/zh/releases/artifacts/), 并根据实际情况选择具体的制品版本。目前支持的制品版本及对应的集群版本范围如下: | 制品包版本 | 支持集群范围 | DCE 5.0 支持情况 | 备注 | | --- | --- | --- | --- | | release-2.21 | v1.23.0 ~ v1.25.6 | 安装器 v0.14.0+ | 目前社区暂未支持该制品包的 runc 组件的升级 | | release-2.22 | v1.24.0 ~ v1.26.9 | 安装器 v0.15.0+ | 支持最新的 runc、containerd | | release-2.23 | v1.25.0 ~ v1.27.7 | 预计安装器 v0.16.0+ | 预计 4 月支持 | 所以目前仅有 release-2.22 制品包支持 **containerd、runc 的升级** ,因此 v1.24.0 ~ v1.26 的集群版本直接参照下文的所有操作步骤即可。 本文演示离线部署 K8s 集群版本 `v1.24.14` ,**containerd** 版本从 **1.7.1** 升级到 **1.7.13** , **runc** 版本从 **v1.1.7** 升级到 **v1.1.12** ,所以选择 `release-2.22` 的制品。 ### 操作步骤 #### 制作并导入 runc/containerd 相关离线包 1. 定义环境变量: minio 地址及用户名密码 ```bash MINIO_USER="rootuser" MINIO_PASS="rootpass123" MINIO_ADDR="http://172.30.**.***:9000" ``` 2. 定义环境变量:镜像 airgap-patch 地址 ```bash AIRGAP_PATCH_IMG="ghcr.m.daocloud.io/kubean-io/airgap-patch:2.22-71b6fa1" ``` 3. 仅制作 x86 架构的组件包 ```bash cat > "manifest.yml" <