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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 漏洞详情: 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盲盒。
目录
相关文章
|
30天前
|
安全 关系型数据库 Linux
高危漏洞CVE-2024-38077的修复指南
根据2024年8月9日,国家信息安全漏洞共享平台(CNVD)收录了Windows远程桌面许可服务远程代码执行漏洞(CNVD-2024-34918,对应CVE-2024-38077)。未经身份认证的攻击者可利用漏洞远程执行代码,获取服务器控制权限。目前,该漏洞的部分技术原理和概念验证伪代码已公开,厂商已发布安全更新完成修复。CNVD建议受影响的单位和用户安全即刻升级到最新版本。
|
3月前
|
监控 安全 测试技术
CVE-2022-37434漏洞如何处理
【6月更文挑战第18天】CVE-2022-37434漏洞如何处理
245 0
|
4月前
|
安全 网络安全 数据安全/隐私保护
【已修复】OpenSSH 代码问题漏洞(CVE-2023-38408)
修复OpenSSH 代码问题漏洞(CVE-2023-38408)
723 0
|
安全 Linux
Linux 系统安全 - 近期发现的 polkit pkexec 本地提权漏洞(CVE-2021-4034)修复方案
Linux 系统安全 - 近期发现的 polkit pkexec 本地提权漏洞(CVE-2021-4034)修复方案
1214 2
|
安全 jenkins Java
CVE-2017-1000353 Jenkins漏洞复现系列(一)
Jenkins未授权远程代码执行漏洞, 允许攻击者将序列化的Java SignedObject对象传输给Jenkins CLI处理,反序列化ObjectInputStream作为Command对象,这将绕过基于黑名单的保护机制, 导致代码执行
735 0
|
安全 Linux
【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法
【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法
648 0
【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法
|
Kubernetes 安全 容器
关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
Kubernetes社区发现Kubernetes Dashboard 1.10.1以前的版本存在安全漏洞。如果您未安装Dashboard组件,无需关注。如您自行配置Dashboard组件,及时处理
2433 0
|
Kubernetes 安全 API
关于Kubernetes CVE-2018-1002105 提权漏洞的修复公告
近日Kubernetes社区发现安全漏洞 CVE-2018-1002105。通过伪造请求,Kubernetes用户可以在已建立的API Server连接上提权访问后端服务,阿里云容器服务已第一时间修复,请登录阿里云控制台升级您的Kubernetes版本。
5292 0
|
安全 网络架构
【高危漏洞预警】CVE-2017-9805:Struts2 REST插件远程执行命令漏洞(S2-052)
2017年9月5日,Struts官方发布一个严重级别的安全漏洞,该漏洞编号为:S2-052,在一定条件下,攻击者可以利用该漏洞远程发送精心构造的恶意数据包,获取业务数据或服务器权限,存在高安全风险。
3495 0
|
安全 Windows
CVE-2019-1181 漏洞修复补丁下载 POC暂时未发布
2019年8月14日,微软发布更新了windows的系统补丁,代号:CVE-2019-1181,CVE-2019-1182补丁针对与windows远程桌面远程代码执行漏洞进行了全面的修复,根据SINE安全技术对补丁的分析发现修复的这两个漏洞,可以造成攻击者通过远程链接的方式绕过管理员的身份安全验证...
2177 0