【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页面 获取最新版本的下载链接,并使用 wget 或 curl 下载最新版本的二进制文件。例如:

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

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

相关推荐
echome8881 分钟前
Linux 定时任务:crontab 写法与常见失效原因
linux·运维·网络·定时任务·crontab
老约家的可汗2 分钟前
Linux开发三件套:make、git、gdb 入门指南
linux·运维·服务器
从琳开始98915 分钟前
从Socket到TCP回显服务器:Java网络编程完整指南
java·服务器·网络·tcp/ip·java-ee
云-缩影1 小时前
做微信小程序,自建服务器还是用云托管:技术选型对比
服务器·微信小程序·小程序
分布式存储与RustFS1 小时前
可观测性数据落进对象存储:Proscia 案例拆解与 ClickHouse 自托管配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
Sw1zzle1 小时前
Go入门(零):Linux Ubuntu 22.04 安装 Go
linux·ubuntu·golang
device_Any1 小时前
接口文档写着三个字段,接口返回了五个
android·java·linux
土星云SaturnCloud1 小时前
基于边缘计算与AI视觉的智慧街面治理方案:架构设计与场景落地
服务器·人工智能·ai·边缘计算
无足鸟ICT1 小时前
【RHCA+】dstat命令(监控系统资源)
linux·服务器
方便面不加香菜1 小时前
Docker Image-- 镜像命令详解与使用示例
运维·docker·容器