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