【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 的升级。根据你的具体系统配置和使用的包管理器,可能需要进行一些调整。

相关推荐
YuMiao10 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器