CVE-2019-5736: runc容器逃逸漏洞警报

栏目: 编程工具 · 发布时间: 5年前

Runc是一个CLI工具,可以根据OCI(Open Container Initiative)标准创建和运行容器。目前,docker引擎也是基于runc内部构建的。在2019年2月11日,研究人员通过oss-security邮件列表 揭示 了runc容器逃逸漏洞的详细信息。为此问题分配的CVE是CVE-2019-5736。据OpenWall称,漏洞利用细节将在2019年2月18日七天后公布。该漏洞可能会影响大多数云服务提供商,并且损害严重。

该漏洞允许恶意容器(用户交互最少)覆盖主机上的runc文件,以在主机上执行具有root权限的代码。在以下两种情况下,可以通过用户交互在具有root权限的容器中执行任意代码:

*使用攻击者控制的镜像创建新容器。

*将(docker exec)附加到攻击者之前具有写入权限的现有容器中。

默认AppArmor策略或Fedora[++]上的默认SELinux策略不会阻止此漏洞(因为容器进程似乎作为container_runtime_t运行)。但是,*被*阻止了

通过正确使用用户命名空间(主机根未映射到容器的用户命名空间)。

攻击者可以通过使用指向runc的文件替换容器中的目标文件来欺骗runc来执行自身。例如,目标文件是/bin/bash,用可执行脚本替换为指定的解释器路径#!/proc/self/exe,并在容器中执行/bin/bash时执行 /proc/self/exe。指向主机上的runc文件。然后,攻击者可以继续写入 /proc/self/exe以尝试覆盖主机上的runc文件。但一般来说,它不会成功,因为内核不允许在运行runc时覆盖它。要解决这个问题,攻击者可以使用O_PATH标志打开/ proc / self / exe的文件描述符,然后使用O_WRONLY标志用/proc/self/fd/重新打开文件并尝试从一个在一个循环中。一个单独的进程写入此文件。当runc退出时,覆盖将成功,之后runc可用于攻击其他容器或主机。

安全研究人员已经附上修复此问题的相关补丁。这个补丁基于HEAD,但是libcontainer/nsenter/中的代码很少变化,它应该干净地应用于你正在处理的任何旧版本的runc代码库。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-02/156873.htm


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

微信小程序

微信小程序

牛建兵 / 清华大学出版社 / 2017-9-1 / 49.00

微信小程序从满城风雨到掀起创业热潮,再到一直不断地迭代更新,其每一次更新都会增加新能力,让使用变得越来越方便,同时也增加一批进军小程序的队伍。微信小程序作为现在互联网中的热点,它给创业者、投资者、程序员带来了福音。对创业者来说,小程序能大大降低他们的创业成本,同时也降低了投资者的投资风险。 本书注重实战,通过具体的案例分析,讲解微信小程序的市场状况、人员分工、小程序需求设计、小程序体验设计、......一起来看看 《微信小程序》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具