目录
在 runc
1.1.11 及之前的版本中,由于内部文件描述符泄漏问题,攻击者可使新生成的容器进程在宿主文件系统命名空间中拥有工作目录,从而实现容器逃逸。此漏洞的利用需要特定环境,如允许攻击者提供自定义镜像等。官方已于2024年2月1日发布安全更新,建议受影响用户尽快升级。
阿里云产品关于 runc
安全问题(CVE-2024-21626)影响声明
链接
-
阿里云 ACK
runc
版本影响范围:- 1.1.0 <=
runc
<= 1.1.11
- 1.1.0 <=
-
社区版本影响范围:
- 1.0.0-rc93 <=
runc
<= 1.1.11
- 1.0.0-rc93 <=
-
修复版本:
runc
1.1.12 及之后版本已修复该问题。
解决方案
为升级 runc
到最新版本,可按照以下步骤操作。以下步骤适用于大多数 Linux 发行版。
升级 runc
的步骤
-
卸载旧版
runc
:sudo yum remove runc
-
下载最新版
runc
: 从runc
的 GitHub releases 页面 获取最新版本的下载链接,并使用wget
或curl
下载最新的二进制文件。例如:wget https://github.com/opencontainers/runc/releases/download/v1.1.12/runc.amd64 -O runc
请根据实际最新版本替换 URL 和文件名。
-
安装新版本: 给下载的文件添加执行权限,并将其移动到系统的适当路径:
chmod +x runc sudo mv runc /usr/local/sbin/runc
如果你的
runc
安装在/usr/bin
目录中,使用以下命令:sudo mv runc /usr/bin/runc
-
验证安装: 使用以下命令检查
runc
版本是否成功更新:runc --version
详细说明
- 下载最新版本: 从
runc
官方 GitHub releases 页面获取最新版本信息,确保下载与系统架构相匹配的二进制文件(如amd64
,arm64
等)。 - 添加执行权限: 下载的二进制文件默认没有执行权限,需要使用
chmod +x
命令赋予执行权限。 - 移动到系统路径: 将新的
runc
二进制文件移动到系统的可执行路径中,通常是/usr/local/sbin
或/usr/bin
。根据你的系统配置,选择适合的位置。 - 验证: 使用
runc --version
命令检查新版本是否成功安装。
这些步骤应在大多数 Linux 系统上顺利完成 runc
的升级。如有需要,根据具体系统配置和包管理器进行适当调整。