1、基本情况
Docker cp命令实现中存在容器逃逸漏洞,CVE编号:CVE-2019-14271。攻击者利用该漏洞可实现完整的容器逃逸攻击。
2、攻击原理
Docker cp命令是用于容器与宿主机之间的数据拷贝。
当Docker宿主机使用cp命令时,会调用辅助进程docker-tar,该进程没有被容器化,且会在运行时动态加载一些libnss_*.so库。黑客可以通过在容器中替换libnss_*.so等库,将代码注入到docker-tar中。当Docker用户尝试从容器中拷贝文件时将会执行恶意代码,成功实现Docker逃逸,获得宿主机root权限。
3、影响范围
受影响版本:
Docker 19.03.0
4、处置建议
1) 升级至安全版本:Docker 19.03.1;
2) 以非root用户权限运行容器。libnss_*.so库覆盖需要root权限,以非root用户权限运行容器可以阻止漏洞攻击。
5、参考链接
1) https://unit42.paloaltonetworks.com/docker-patched-the-most-severe-copy-vulnerability-to-date-with-cve-2019-14271/
2) https://nvd.nist.gov/vuln/detail/CVE-2019-14271