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


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

查看所有标签

猜你喜欢:

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

构建高性能Web站点

构建高性能Web站点

郭欣 / 电子工业出版社 / 2012-6 / 75.00元

《构建高性能Web站点(修订版)》是畅销修订版,围绕如何构建高性能Web站点,从多个方面、多个角度进行了全面的阐述,几乎涵盖了Web站点性能优化的所有内容,包括数据的网络传输、服务器并发处理能力、动态网页缓存、动态网页静态化、应用层数据缓存、分布式缓存、Web服务器缓存、反向代理缓存、脚本解释速度、页面组件分离、浏览器本地缓存、浏览器并发请求、文件的分发、数据库I/O优化、数据库访问、数据库分布式......一起来看看 《构建高性能Web站点》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具