返回顶部
首页 > 资讯 > 精选 >如何实现runc容器逃逸漏洞预警
  • 244
分享到

如何实现runc容器逃逸漏洞预警

2023-06-19 11:06:33 244人浏览 薄情痞子
摘要

本篇文章为大家展示了如何实现runc容器逃逸漏洞预警,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。0x00 漏洞背景runc是一个根据OCI(Open Container Initiati

本篇文章为大家展示了如何实现runc容器逃逸漏洞预警,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

0x00 漏洞背景

runc是一个根据OCI(Open Container Initiative)标准创建并运行容器的CLI tool。目前Docker引擎内部也是基于runc构建的。2019年2月11日,研究人员通过oss-security邮件列表披露了runc容器逃逸漏洞的详情,根据OpenWall的规定EXP会在7天后也就是2019年2月18日公开。经360CERT研判,该漏洞可能影响广大云服务厂商,危害严重。

0x01 漏洞影响

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

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

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

默认AppArmor策略不会阻止此漏洞。对于Fedora上的moby-engine软件包,默认SElinux策略也不会阻止此漏洞(因为容器进程似乎作为container_runtime_t运行);对于Fedora上的docker软件包和podman软件包不受此漏洞影响(它们将容器进程作为container_t运行)。但是可以通过正确使用用户命名空间(其中host的root未映射到容器的用户命名空间)来阻止此漏洞。

目前除了runc之外,Apache Mesos和LXC也确认受到影响。攻击只可能发生在特权容器中,因为它需要host上的root权限来覆盖runc文件。LXC认为特权容器是不安全的,所以没有分配CVE来处理此问题,但是也已经发布了补丁。

0x02 漏洞细节

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

0x03 漏洞补丁

lxc使用memfd_create系统调用创建匿名的内存文件,然后将该文件密封以防止修改。执行的是这个密封的内存中的文件而不是磁盘上的文件。同样,从特权容器到host文件的任何写操作都将写入内存中的文件而不是磁盘上的文件从而保证其完整性。由于内存中的文件是密封的,写入操作也将失败。

runc中的修补方案类似。

如何实现runc容器逃逸漏洞预警

0x04 修复建议

目前漏洞细节已经披露,EXP也即将公开,不排除攻击者在EXP公开之前就根据漏洞细节自己编写EXP发动攻击的可能。360CERT建议使用基于lxc和runc容器技术的相关厂商和开发者及时进行升级,同时关注后续EXP,以对升级结果进行验证。其它厂商和开发者也需要关注该漏洞进展,未来不排除有更多的容器系统受到该漏洞影响。

上述内容就是如何实现runc容器逃逸漏洞预警,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: 如何实现runc容器逃逸漏洞预警

本文链接: https://lsjlt.com/news/295959.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何实现runc容器逃逸漏洞预警
    本篇文章为大家展示了如何实现runc容器逃逸漏洞预警,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。0x00 漏洞背景runc是一个根据OCI(Open Container Initiati...
    99+
    2023-06-19
  • 如何实现WinRAR 代码执行漏洞预警
    这篇文章将为大家详细讲解有关如何实现WinRAR 代码执行漏洞预警,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。0x00 漏洞背景2019年2月20 日 @Nadav Grossm...
    99+
    2023-06-19
  • 如何分析iPhone FaceTime通话漏洞预警
    这篇文章给大家介绍如何分析iPhone FaceTime通话漏洞预警,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。0x00 漏洞背景近日,360CERT监测到Iphone FaceTime 通话出现隐私泄露漏...
    99+
    2023-06-19
  • 如何进行Intel CSME 漏洞预警的分析
    本篇文章为大家展示了如何进行Intel CSME 漏洞预警的分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。0x00 漏洞背景英特尔公布:在英特尔 CSME,英特尔服务器平台服务和英特尔...
    99+
    2023-06-19
  • 如何分析Apache Struts2-052 漏洞分析预警
    本篇文章给大家分享的是有关如何分析Apache Struts2-052 漏洞分析预警,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。0x00 漏洞描述The REST ...
    99+
    2023-06-19
  • 如何进行Drupal 远程代码执行漏洞预警
    这期内容当中小编将会给大家带来有关如何进行Drupal 远程代码执行漏洞预警,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。0x00 漏洞背景北京时间2月21日,360CERT 监控到 Drupa...
    99+
    2023-06-19
  • 如何进行Janus安卓签名漏洞预警分析
    这期内容当中小编将会给大家带来有关如何进行Janus安卓签名漏洞预警分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。0x00背景介绍2017年7月31日 GuardSquare向Google报...
    99+
    2023-06-19
  • 怎么实现ghostscript沙箱绕过命令执行漏洞预警
    这篇文章给大家介绍怎么实现ghostscript沙箱绕过命令执行漏洞预警,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。0x00 漏洞背景2019年1月23日晚,Artifex官方在ghostscriptf的m...
    99+
    2023-06-19
  • 怎么实现Adobe Flash Player 任意代码执行漏洞CVE-2018-15981的预警
    怎么实现Adobe Flash Player 任意代码执行漏洞CVE-2018-15981的预警,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。0x00...
    99+
    2023-06-19
  • 如何使Linux shell脚本实现CPU预警
    本篇内容介绍了“如何使Linux shell脚本实现CPU预警”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#!/bin/bash#cpu&...
    99+
    2023-06-09
  • 如何在PHP项目中实现一个反序列化字符串逃逸功能
    这篇文章给大家介绍如何在PHP项目中实现一个反序列化字符串逃逸功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。任何具有一定结构的数据,如果经过了某些处理而把结构体本身的结构给打乱了,则有可能会产生漏洞。0CTF 20...
    99+
    2023-06-06
  • 阿里云服务器提示很多漏洞如何解决和预防
    阿里云服务器作为企业数字化转型的重要工具,对于企业来说,服务器的安全问题尤为重要。然而,最近有用户反映阿里云服务器提示了很多漏洞,这对于企业来说是一个严重的安全隐患。本文将详细介绍如何解决和预防阿里云服务器的漏洞问题。 一、阿里云服务器漏...
    99+
    2023-11-15
    阿里 如何解决 漏洞
  • web报表如何轻松实现数据异常预警功能
    这篇文章将为大家详细讲解有关web报表如何轻松实现数据异常预警功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在业务系统中,经常会看到这样的数据显示需求:一些特殊数据有规定的标准范围,超出...
    99+
    2023-06-04
  • C++如何实现STL容器
    这篇文章给大家分享的是有关C++如何实现STL容器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。各大容器的特点:可以用下标访问的容器有(既可以插入也可以赋值):vector、deque、map;特别要注意一下,v...
    99+
    2023-06-29
  • 如何使用vbs实现discuz任意管理员密码漏洞利用工具
    小编给大家分享一下如何使用vbs实现discuz任意管理员密码漏洞利用工具,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!也利于修改 以下是search.inc.php 文件漏洞利用代码VBS版 代码如下:Dim strUr...
    99+
    2023-06-08
  • css如何实现容器查询
    这篇文章主要为大家展示了“css如何实现容器查询”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css如何实现容器查询”这篇文章吧。容器查询1. 基本概念容器查询使我们能够根据其父元素的大小设置元...
    99+
    2023-06-27
  • C++中list容器如何实现
    本篇内容介绍了“C++中list容器如何实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、list容器1.1 简介① 功能:将数据进行链...
    99+
    2023-07-05
  • Docker link如何实现容器互联
    小编给大家分享一下Docker link如何实现容器互联,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.1、容器间通过IP进行网络访问新建两个容器tomcat0...
    99+
    2023-06-22
  • docker link容器互联如何实现
    这篇“docker link容器互联如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“docker link容器互联如何...
    99+
    2023-06-29
  • Python数据容器dict如何实现
    这篇文章主要介绍“Python数据容器dict如何实现”,在日常操作中,相信很多人在Python数据容器dict如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python数据容器dict如何实现”的疑...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作