乐趣区

新近爆出的runC容器逃逸漏洞,用户如何面对?

runC 是一个根据 OCI(Open Container Initiative)标准创建并运行容器的 CLI 工具,目前 Docker 引擎内部也是基于 runc 构建的。2019 年 2 月 11 日,研究人员通过 oss-security 邮件列表(https://www.openwall.com/list…)披露了 runc 容器逃逸漏洞的详情,根据 OpenWall 的规定 EXP 会在 7 天后也就是 2019 年 2 月 18 日公开。
此漏洞允许以 root 身份运行的容器以特权用户身份在主机上执行任意代码。实际上,这意味着容器可能会破坏 Docker 主机(覆盖 Runc CLI),而所需要的只是能够使用 root 来运行容器。攻击者可以使用受感染的 Docker 镜像或对未受感染的正在运行的容器运行 exec 命令。针对此问题的已知缓解措施包括:

使用只读主机文件系统运行
运行用户命名空间
不在容器中运行 root
正确配置的 AppArmor / SELinux 策略(当前的默认策略不够)

Rancher 团队第一时间响应
收到披露邮件后,RancherOS 团队立刻尝试编写了攻击脚本,在一个普通容器中运行一个非常简单的脚本就完成了对主机的攻击,将主机上的 runc 替换成了其他程序。
漏洞披露后,Docker 在第一时间发布了 18.09.2,用户可升级到此版本以修复该漏洞。Rancher Labs 研发团队同样第一时间响应,发布了 Rancher v2.1.6、v2.0.11 和 v1.6.26,这三个新版本 Rancher 支持 Docker 刚刚发布的 18.09.2,Rancher 用户可以升级 Docker 版本以防止被该安全漏洞影响。
无法升级 Docker 版本怎么办
通常由于各种因素,很多用户的生产环境并不容易升级太新的 Docker 版本。
为了帮助无法按照 Docker 官方建议升级至最新版 Docker 18.09.2 的用户解决此次问题,Rancher Labs 团队更进一步,已经将修复程序反向移植到所有版本的 Docker,为 Docker 1.12.6、1.13.1、17.03.2、17.06.2、17.09.1、18.03.1 和 18.06.1 提供补丁,修复这次漏洞!相关修补程序以及安装说明,请参考:
https://github.com/rancher/ru…。
RancherOS 的更新:v1.5.1 和 v1.4.3
RancherOS 作为一款容器化操作系统,其中很多组件依赖 runc,我们也在第一时间更新了补丁并发布了 v1.5.1 和 v1.4.3 两个版本。
RancherOS 的核心部件 system-docker 和 user-docker 都依赖 runc,所以 v1.5.1 和 v1.4.3 都对他们进行了更新。而针对 user-docker,RancherOS 可以切换各种版本的 docker engine,所以我们对以下 docker engine 都进行了反向移植:
v1.12.6/v1.13.1/v17.03.2/v17.06.2/v17.09.1/v17.12.1/v18.03.1/v18.06.1。
如果是默认安装 v1.5.1 或 v1.4.3,补丁程序已经是内置的,你无需任何操作就可以避免该漏洞。如果你希望使用早期的 docker 版本,那么切换 user-docker 时,请使用上面提到的补丁修复版本:

同时 v1.5.1 版本也是支持 docker 18.09.2,你可以切换到该版本,如果你考虑使用 Docker 官方的修复版本,只需简单运行: ros engine switch docker-18.09.2。
我们推荐您使用最新的 RancherOS v1.5.1 版本,该除了修复 CVE-2019-5736 漏洞外还支持其他新特性以及一些 Bug Fix。当然,因为仍然有很多用户在使用 1.4.x 版本,所以我们也发布了 v1.4.3,它只修复了 runc 漏洞,没有其他额外的更新。
AWS 相关镜像已经上传到各个 region 中,可以直接搜索查找并使用,包括 AWS 中国区。其他主要镜像列表参考:
https://github.com/rancher/os…
更多新特性和 Bug Fix 请参考 v1.5.1 的 Release Notes:
https://github.com/rancher/os…
文档说明:
https://rancher.com/docs/os/v…
RancherOS 专注于 Docker 在 Linux 上的精简体验,它还是一个小众的开源项目,欢迎您下载使用并给 RancherOS 团队提供更多反馈。同时,Github 上的 Star 也是鼓励我们继续前行的精神动力喔~
初心不忘,为用户的 Docker & K8S 之旅护航
Rancher Kubernetes 平台拥有着超过一亿次下载量,我们深知安全问题对于用户而言的重要性,更遑论那些通过 Rancher 平台在生产环境中运行 Docker 及 Kubernetes 的数千万用户。
2018 年年底 Kubernetes 被爆出的首个严重安全漏洞 CVE-2018-1002105,就是由 Rancher Labs 联合创始人及首席架构师 Darren Shepherd 发现的。
2019 年 1 月 Kubernetes 被爆出仪表盘和外部 IP 代理安全漏洞时,Rancher Labs 也是第一时间向用户响应,确保所有 Rancher 2.x 和 1.6.x 的用户都完全不被漏洞影响。
未来,Rancher 也将一如既往陪伴与支持在用户的 K8S 之路左右❤️

退出移动版