Docker 容器逃逸漏洞(CVE-2020-15257)
漏洞原理、基础知识请阅读以下链接,不再展开:
https://medium.com/nttlabs/dont-use-host-network-namespace-f548aeeef575
或者中文的:
https://mp.weixin.qq.com/s/iNziquZJxcox9453jF8LOg
简要来说,containerd->containerd-shim->runc 的通信模型中,containerd-shim的接口作为abstract unix socket暴露,在docker使用net=host参数启动、与宿主机共享net namespace时,其中的unix socket可以被容器内部访问到,容器中攻击者通过该socket可以通过API控制下游runc进程启动新的恶意镜像,并通过该镜像逃逸。
POC
这个漏洞POC比较简单,只要探测到docker内部有containerd-shim启动的unix socket即可确认。
https://github.com/summershrimp/exploits-open/tree/9f2e0a28ffcf04ac81ce9113b2f8c451c36fe129/CVE-2020-15257
https://github.com/Xyntax/CDK/releases/tag/0.1.6
来源:https://www.cdxy.me/?p=837