【Linux】修复 runc 文件描述符泄漏导致容器逃逸漏洞(CVE-2024-21626)

漏洞详情

在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 的步骤

  1. 卸载现有的 runc 版本(可选,根据具体情况):

    bash 复制代码
    sudo apt-get remove runc
  2. 下载最新版本的 runc

    runc的GitHub releases页面 获取最新版本的下载链接,并使用 wgetcurl 下载最新版本的二进制文件。例如:

    bash 复制代码
    wget https://github.com/opencontainers/runc/releases/download/v1.1.0/runc.amd64 -O runc

    请根据实际最新版本替换上面的URL和文件名。

  3. 安装新版本

    给下载的文件添加可执行权限,并将其移动到系统的适当位置:

    bash 复制代码
    chmod +x runc
    sudo mv runc /usr/local/sbin/runc

    如果你的 runc 安装在 /usr/bin 目录中,使用以下命令:

    bash 复制代码
    sudo mv runc /usr/bin/runc
  4. 验证安装

    确认 runc 已成功更新:

    bash 复制代码
    runc --version

    你应该会看到新的版本信息。

详细说明

  • 下载最新版本 :你可以从 runc 的官方 GitHub releases 页面获取最新的版本信息,并下载最新的二进制文件。确保你下载的是正确的架构(如 amd64arm64 等)。
  • 添加执行权限 :下载的二进制文件默认是没有执行权限的,需要使用 chmod +x 命令赋予可执行权限。
  • 移动到系统路径 :将新的 runc 二进制文件移动到系统路径中,通常是 /usr/local/sbin/usr/bin。你可以根据你的系统配置选择合适的位置。
  • 验证 :最后,使用 runc --version 命令检查新版本是否安装成功。

这些步骤应该可以在大多数 Linux 系统上顺利完成 runc 的升级。根据你的具体系统配置和使用的包管理器,可能需要进行一些调整。

相关推荐
黑牛先生1 小时前
【Linux】动静态库
linux·运维·服务器
vortex51 小时前
Shell基础:中括号的使用
linux·运维·bash·shell
基哥的奋斗历程2 小时前
Docker 常用命令
运维·docker·容器
HEX9CF3 小时前
【Docker】快速部署 Nacos 注册中心
运维·docker·容器
从未止步..4 小时前
Jenkins未在第一次登录后设置用户名,第二次登录不进去怎么办?
java·运维·jenkins
davenian4 小时前
< OS 有关> BaiduPCS-Go 程序的 菜单脚本 Script: BaiduPCS-Go.Menu.sh (bdgo.sh)
运维·shell script·baidupcs-go·linux ubuntu
-VE-5 小时前
myshell
linux·c++
喝醉酒的小白5 小时前
几种K8s运维管理平台对比说明
运维·容器·kubernetes
明 庭6 小时前
通过 Docker 部署 pSQL 服务器的教程
服务器·docker·容器
身在江湖的郭大侠7 小时前
Linux内核
linux·服务器