CVE-2018-15664漏洞分析报告

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 近日来自SUSE的安全专家Aleksa Sarai公布了编号为CVE-2018-15664的docker相关高危安全漏洞,该漏洞的CVSS评分为8.7,影响面涵盖所有docker发行版本,攻击者可利用该漏洞逃逸出容器读取或篡改host或其他任意容器内的文件,当前docker官方已经给出了临时方案以降低攻击面并将于下个release版本发布。

  近日来自SUSE的安全专家Aleksa Sarai公布了编号为CVE-2018-15664的docker相关高危安全漏洞,该漏洞的CVSS评分为8.7,影响面涵盖所有docker发行版本,攻击者可利用该漏洞逃逸出容器读取或篡改host或其他任意容器内的文件,当前docker官方已经给出了临时方案以降低攻击面并将于下个release版本发布。

漏洞描述

  该漏洞的根因是使用FollowSymlinkInScope函数时触发TOCTTOU(time-of-check-to-time-of-use) 文件系统的竞争条件缺陷引起的。这段函数代码在docker源码中使用较多,最为直接的就是docker cp命令。根据Sarai的描述:FollowSymlinkInScope的作用是解析容器中运行进程的文件路径,而攻击者可以利用解析校验完成后和操作执行间的空隙修改cp文件为一个符号链接对应的目标文件,这样理论上该攻击者可能会以root身份访问到host上或其他容器内的任意文件。
  根据官方说明,攻击者首先要拥有docker cp命令的使用权限和目标容器的访问权限,且攻击只可能发生在拷贝过程中解析文件完成到执行copy动作的毫秒级窗口内。攻击具备一定的难度和相当的专业背景,因此docker容器的相关使用者也不必过于惊慌,下面我们介绍此次漏洞的相关修复进展。

修复措施:

  所幸”docker cp”命令是此次漏洞影响范围内唯一暴露的对外接口,docker社区也很快给出了临时性的修复方案,在该方案中,官方建议用户在使用docker cp命令前执行docker pause命令,并在结束cp命令后执行docker unpause。在下个月的release版本中,pause和unpause命令会被自动加入到cp命令的运行过程中,通过冻结容器的方式阻断copy过程中对容器文件数据的篡改。
  同时,Sarai也指出了该漏洞的根本修复方法在于修改chrootarchive中的归档逻辑,需要使用root作为容器的rootfs(而不是父目录,因为其可能已经被攻击者控制)。因为chrootarchive属于docker底层源码,改动会影响如Tar/Untar等多个相关接口,因此至今还没有根本性的修复,不过当前相关修复已经有了pr提交,相信社区也已有了相应的补丁计划。另外Sarai也提出了在内核层面的修改方案,当然这样的底层修改短期内应该不会被应用到docker对该漏洞的修复中去。

短期如何防范:

  此次漏洞的攻击前提是攻击者拥有docker cp命令的使用权限,阿里云容器服务集群默认开启了基于RBAC的访问控制,非法用户是没有cp命令在容器内的访问权限的。对于可能非法获得cp命令访问权限的攻击者,我们给出如下几个建议:

1) 控制docker cp命令的使用
2) 在使用docker cp命令的前后执行docker pause和docker unpause
3) 合理利用如AppArmor等工具限制容器内对host上敏感目录的访问权限并监控相关审计

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
11月前
|
缓存 安全 网络安全
心脏滴血漏洞复现(CVE-2014-0160)
心脏滴血漏洞复现(CVE-2014-0160)
155 0
|
11月前
|
安全 Java 应用服务中间件
CVE-2023-21839漏洞本地简单复现
CVE-2023-21839漏洞本地简单复现
851 0
|
安全 Linux 网络安全
【网络安全】复现CVE-2019-14287漏洞
Sudo的全称是"superuserdo”,它是Linux系统管理指令,允许用户在不需要切换环境的前提下,以其它用户的权限运行应用程序或命令,通常是以root用户身份运行命令,以减少root用户的登录和管理时间,同时提高安全性,当在Linux操作系统上执行命令时,只有得到许可或者知道root密码,普通用户才可以使用sudo命令以root身份执行命令. 个人理解:(直白点讲就是,如果你入侵了他人的主机,可以利用该漏洞,进行权限升级,不用切换root,因为切换root的时候需要输入密码,用该漏洞可以跳过该步骤,获得权限)
157 0
【网络安全】复现CVE-2019-14287漏洞
|
安全 Apache 开发工具
[漏洞复现]CVE-2019-0708(上)
[漏洞复现]CVE-2019-0708
159 0
[漏洞复现]CVE-2019-0708(上)
|
安全 Python
[漏洞复现]CVE-2019-0708(下)
[漏洞复现]CVE-2019-0708
138 0
 [漏洞复现]CVE-2019-0708(下)
|
安全 Windows Web App开发
2019年3月微软补丁日多个漏洞预警
2019年3月微软补丁日多个漏洞预警
1554 0
|
云安全 安全 JavaScript
威胁快报|CVE漏洞—PHPCMS2008 /type.php代码注入高危漏洞预警(CNVD-C-2018-127157/CVE-2018-19127)
11月4日,阿里云安全首次捕获PHPCMS 2008版本的/type.php远程GetShell 0day利用攻击,攻击者可以利用该漏洞远程植入webshell,导致文件篡改、数据泄漏、服务器被远程控制等一系列严重问题。建议受影响用户尽快升级到最新版本修复。
2089 0
|
安全 测试技术
CVE-2017-8464漏洞复现
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396484 感谢学长分享复现的技术文档,十分感谢。
1240 0
|
安全
针对CVE-2015-2545漏洞研究分析
本文讲的是针对CVE-2015-2545漏洞研究分析,这是一种MSOffice漏洞,允许通过使用特殊的 Encapsulated PostScript (EPS)图形文件任意执行代码。这种漏洞于2015年3月被发现,漏洞未修补情况持续了4个月。之后,
1514 0
|
安全
“cerber”敲诈者对CVE-2016-7255漏洞利用分析
本文讲的是“cerber”敲诈者对CVE-2016-7255漏洞利用分析,360互联网安全中心近日捕获到一款“ceber”敲诈者木马变种,该变种与其他“ceber”敲诈者木马变种在代码执行流程上并没有太大区别。
1155 0