关于runc漏洞CVE-2019-5736的修复公告

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 漏洞详情: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5736 Docker、containerd或者其他基于runc的容器运行时存在安全漏洞,攻击者可以通过特定的容器镜像或者exec操作可以获取到宿主机的runc执行时的文件句柄并修改掉runc的二进制文件,从而获取到宿主机的root执行权限。

漏洞详情:

Docker、containerd或者其他基于runc的容器运行时存在安全漏洞,攻击者可以通过特定的容器镜像或者exec操作可以获取到宿主机的runc执行时的文件句柄并修改掉runc的二进制文件,从而获取到宿主机的root执行权限。

详见 https: //cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5736

影响范围:

对于阿里云容器服务来说,影响范围:

  • Docker版本 < 18.09.2 的所有Docker Swarm集群和Kubernetes集群(不包含Serverless Kubernetes集群)

对于用户自建Docker/Kubernetes环境:

  • Docker版本 < 18.09.2 或者使用 runc版本 <= 1.0-rc6的环境,请自行根据厂商建议进行修复。

解决办法:

  • 方案一:新建k8s 1.11或1.12集群。容器服务新创建的1.11或1.12版本的Kubernetes集群已经包含修复该漏洞的Docker版本。
  • 方案二:升级Docker。升级已有集群的Docker到18.09.2或以上版本。该方案会导致容器和业务中断。
  • 方案三:仅升级runc(针对Docker版本17.06)。为避免升级Docker引擎造成的业务中断,可以按照下文的步骤文档,逐一升级集群节点上的runc二进制。

针对方案三中Docker 17.06版本的步骤文档:

# 找到docker-runc的位置,一般情况下在: /usr/bin/docker-runc
which docker-runc

# 备份原有的runc
mv /usr/bin/docker-runc /usr/bin/docker-runc.orig.$(date -Iseconds)

# 下载修复的runc
curl -o /usr/bin/docker-runc -sSL https://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/runc/docker-runc-17.06-amd64

# 设置它的可执行权限
chmod +x /usr/bin/docker-runc

# 测试runc可以正常工作
docker-runc -v
# runc version 1.0.0-rc3
# commit: fc48a25bde6fb041aae0977111ad8141ff396438
# spec: 1.0.0-rc5
docker run -it --rm ubuntu echo OK


# 如果是Kubernetes的GPU节点,还需要额外安装下nvidia-runtime
# 找到nvidia-container-runtime的位置,一般情况下在: /usr/bin/nvidia-container-runtime
which nvidia-container-runtime

# 备份原有的nvidia-container-runtime
mv /usr/bin/nvidia-container-runtime /usr/bin/nvidia-container-runtime.orig.$(date -Iseconds)

# 下载修复的nvidia-container-runtime
curl -o /usr/bin/nvidia-container-runtime -sSL https://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/runc/nvidia-container-runtime-17.06-amd64

# 设置它的可执行权限
chmod +x /usr/bin/nvidia-container-runtime

# 测试nvidia-container-runtime可以正常工作
nvidia-container-runtime -v
#  runc version 1.0.0-rc3
#  commit: fc48a25bde6fb041aae0977111ad8141ff396438-dirty
#  spec: 1.0.0-rc5

docker run -it --rm -e NVIDIA_VISIBLE_DEVICES=all ubuntu nvidia-smi -L
#  GPU 0: Tesla P100-PCIE-16GB (UUID: GPU-122e199c-9aa6-5063-0fd2-da009017e6dc)
# 本测试运行在GPU P100机型中,不同GPU型号会有区别。
相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
5月前
|
安全 关系型数据库 Linux
高危漏洞CVE-2024-38077的修复指南
根据2024年8月9日,国家信息安全漏洞共享平台(CNVD)收录了Windows远程桌面许可服务远程代码执行漏洞(CNVD-2024-34918,对应CVE-2024-38077)。未经身份认证的攻击者可利用漏洞远程执行代码,获取服务器控制权限。目前,该漏洞的部分技术原理和概念验证伪代码已公开,厂商已发布安全更新完成修复。CNVD建议受影响的单位和用户安全即刻升级到最新版本。
|
7月前
|
监控 安全 测试技术
CVE-2022-37434漏洞如何处理
【6月更文挑战第18天】CVE-2022-37434漏洞如何处理
731 0
|
8月前
|
安全 网络安全 数据安全/隐私保护
【已修复】OpenSSH 代码问题漏洞(CVE-2023-38408)
修复OpenSSH 代码问题漏洞(CVE-2023-38408)
2679 0
|
安全 Oracle 关系型数据库
CVE-2020-2551
2020年1月15日,Oracle发布了一系列的安全补丁,其中Oracle WebLogic Server产品有高危漏洞,漏洞编号CVE-2020-2551,CVSS评分9.8分,漏洞利用难度低,可基于IIOP协议执行远程代码。
152 0
CVE-2020-2551
|
安全 Shell
CVE-2014-6271“破壳”
CVE-2014-6271广泛存在与GNU Bash 版本小于等于4.3的*inux的系统之中
119 0
|
安全 jenkins Java
CVE-2017-1000353 Jenkins漏洞复现系列(一)
Jenkins未授权远程代码执行漏洞, 允许攻击者将序列化的Java SignedObject对象传输给Jenkins CLI处理,反序列化ObjectInputStream作为Command对象,这将绕过基于黑名单的保护机制, 导致代码执行
846 0
|
数据采集 移动开发 安全
|
安全 Shell 数据库
CVE-1472
0x00 CVE-1472复现
CVE-1472
|
安全 Java 应用服务中间件
Ghostcat(CVE-2020-1938)
Ghostcat(CVE-2020-1938)
Ghostcat(CVE-2020-1938)
|
安全 Linux
【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法
【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法
819 0
【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法