写点什么

刚刚,才云发布 runc 容器逃逸漏洞预警

  • 2020-03-03
  • 本文字数:922 字

    阅读完需:约 3 分钟

刚刚,才云发布 runc 容器逃逸漏洞预警


2019 年 2 月 11 日,runc 维护者在 oss-security 邮件列表披露 runc 安全漏洞详情。该漏洞允许恶意用户覆写宿主机上的 runc 二进制文件,并获得宿主机的 root 权限,其恶劣影响波及 Docker, containerd, cri-o 等使用了 runc 的容器运行时。

漏洞详情

此次漏洞的编号为 CVE-2019-5736,它的出现源于运行容器时 runc 处理系统文件描述符的方式存在缺陷。攻击者可以使用指向 runc 二进制文件本身的自定义二进制文件替换容器内的目标二进制文件来完成攻击。


恶意容器可以通过此漏洞覆盖 host 上的 runc 二进制文件,从而在 host 上获取 root 访问权限,进而执行任意攻击代码。攻击代码采取的攻击方式有两种:


  • 使用攻击者控制的镜像创建新容器;

  • 进入到攻击者之前具有写入权限的容器中(docker exec)。

影响范围

目前,Docker 发布的 v18.09.2 已经修复了此漏洞,runc 还未发布包含漏洞修复补丁的新版本。因此 Docker 版本低于 18.09.2 及 runc 版本不高于 1.0.0-rc6 的环境都在影响范围内。

解决方案

截至目前,该问题的最佳解决方法是把 Docker 升级到 18.09.2 或以上版本。由于 runc 新版本尚未发布,如果要单独升级 runc,用户需要自行编译。


缓解办法:


  • 启用 selinux 规则,防止容器内的进程覆盖主机 runc 二进制文件;

  • Host 使用只读文件系统,或至少 runc 文件位置只读;

  • 在容器内使用低权限用户,或将容器内 uid0 用户映射到 host 的普通用户(没有 runc 访问权限的用户)。

漏洞对 Caicloud Compass 的影响

考虑到 runc 的流行度,这个漏洞对容器的影响是普遍的。


该漏洞只需要较小的权限(host runc 的权限)即可完成攻击。默认情况下,容器内进程都是以 root 权限运行的,如果没有做用户 ID 映射,就会对 host 上的 runc 二进制文件有所有权限,因此都会受到该漏洞的影响。


面对这个安全隐患,才云 Caicloud 将从以下三方面为用户提供帮助:


  • 对于在生产环境使用 Caicloud Compass 的用户,才云 Caicloud 工程师团队可以协助完成 Docker 升级;

  • 对于新发布的 Caicloud Compass 2.7.3 版本,我们会通过热补丁修复这个漏洞;

  • 在下个版本中,Caicloud Compass 也会使用 18.09.2 或以上版本的 Docker。


本文转载自才云 Caicloud 公众号。


原文链接:https://mp.weixin.qq.com/s/PxvXCj6cfLslzRlV3mlSYw


2020-03-03 17:29865

评论

发布
暂无评论
发现更多内容

微服务架构下的核心话题 (一):微服务架构下各类项目的顺势崛起

xcbeyond

架构 微服务

秒杀系统的架构设计

莫莫大人

【第九周作业】

Aldaron

HomeWork

天之彼方

技术贴丨教你使用华为云鲲鹏服务器部署Discuz!论坛

华为云开发者联盟

鲲鹏920 服务器 华为云 Discuz! 华为云鲲鹏

秒杀系统设计初稿

jason

关于微信电子发票生态,这三种服务商最有机会

诸葛小猿

电子发票 发票

Docker-compose实战

北漂码农有话说

第9周总结+作业

林毋梦

《RabbitMQ》如何保证消息的可靠性

Java旅途

我还在生产玩 JDK7,JDK 15 却要来了!|新特性尝鲜

楼下小黑哥

Java jdk

NOSQL or NEWSQL

大唐小生

sql nosql

并发-草稿

superman

JVM系列之:从汇编角度分析Volatile

程序那些事

Java JVM JIT 汇编

架构师训练营第九章作业

叮叮董董

架构师训练营第九章总结

叮叮董董

当面试官问我ArrayList和LinkedList哪个更占空间时,我这么答让他眼前一亮

鄙人薛某

Java 面试 集合 java基础

Elasticsearch从入门到放弃:瞎说Mapping

Jackey

elasticsearch

Atlassian 重磅推出12个新功能为您打造全新 DevOps 体验!

Atlassian

项目管理 DevOps Atlassian Jira

JVM学习总结

jason

SpreadJS 纯前端表格控件应用案例:SPDQD 质量数据云

葡萄城技术团队

SpreadJS 案例

架构师训练营 - 第九周 - 作业

韩挺

树莓派上安装docker记录

田振宇

计算机网络基础(十四)---传输层-UDP协议详解

书旅

计算机网络 网络 协议栈 通信协议

尚未到来的远程工作

张凯峰

敏捷 敏捷开发 软件开发 远程办公 thoughtworks

Ubuntu启动盘无法格式化

kraken0

作业一

Kiroro

总结

Kiroro

面经手册 · 第2篇《数据结构,HashCode为什么使用31作为乘数?》

小傅哥

Java 数据结构 面试 小傅哥

训练一个数据不够多的数据集是什么体验?

华为云开发者联盟

数据 数据集 华为云 标签 modelarts

一周信创舆情观察(7.27~8.2)

统小信uos

刚刚,才云发布 runc 容器逃逸漏洞预警_行业深度_才云科技_InfoQ精选文章