CVE-2024-21626 漏洞修复

  其他常见问题
内容纲要

概要描述

runc 版本影响范围:>= 1.0.0-rc93, <= 1.1.11,修复版本:1.1.12


详细说明

  1. 升级 runc 或者 docker-runc
    实际上就是用新的二进制 runc 文件,更新替换旧的二进制 runc 文件;

PS:

  • 如果 docker 版本是 docker 20.x.x ,则是 runc
  • 如果 docker 版本是 docker 17.x.x ,则是 docker-runc

解决方案

升级 runc/docker-runc,从 1.0.3 升级至 1.1.12

1、下载 runc

runc.arm64 二进制文件

runc.amd64 二进制文件

2、查看当前 runc 版本

docker-runc -v

file

或者 runc -v

file

3、升级
  1. 升级 runc

将下载好的 runc.amd64 文件上传到服务器;

# 给予可执行权限
chmod +x runc.amd64

# 备份原有的runc
mv /usr/bin/runc /usr/bin/runc.bak-old

# 拷贝更新后的runc
mv ./runc.amd64 /usr/bin/runc
  1. 升级 docker-runc

将下载好的 runc.amd64 文件上传到服务器;

# 给予可执行权限
chmod +x runc.amd64

# 备份原有的runc
mv /usr/bin/docker-runc /usr/bin/docker-runc.bak-old

# 拷贝更新后的runc
mv ./runc.amd64 /usr/bin/docker-runc
验证
  1. 验证版本

升级后,可以通过运行runc -v 或者 docker-runc -v 命令查看 runc 的版本号。

file

  1. 重启 pod 验证功能

升级 runc 组件不会重启业务 Pod。所以不会影响运行中的服务。
只有主动重启容器,使用新版本的 runc 重新创建容器后,新的 runc 才会在业务容器中生效。

所以建议是更新 runc 之后,手动重启一下集群中所有服务;
如果不方便立即重启,可以后续等业务空闲时间,操作重启。

回退

回退方案直接将备份的 二进制文件 mv 回去即可;

# 回退原有的runc
mv /usr/bin/runc.bak-old /usr/bin/runc

# 回退原有的docker-runc
mv /usr/bin/docker-runc.bak-old /usr/bin/docker-runc

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。