新近爆出的runc容器逃逸漏洞,用户如何面对?
runc是一个根据OCI(Open Container Initiative)标准创建并运行容器的CLI工具,目前Docker引擎内部也是基于runc构建的。 2019年2月11日,研究人员通过oss-security邮件列表( https://www.openwall.com/lists/oss-security/2019/02/11/2 )披露了runc容器逃逸漏洞的详情,根据OpenWall的规定EXP会在7天后也就是2019年2月18日公开。 此漏洞允许以root身份运行的容器以特权用户身份在主机上执行任意代码。实际上,这意味着容器可能会破坏Docker主机(覆盖Runc CLI),而所需要的只是能够使用root来运行容器。攻击者可以使用受感染的Docker镜像或对未受感染的正在运行的容器运行exec命令。针对此问题的已知缓解措施包括: 使用只读主机文件系统运行 运行用户命名空间 不在容器中运行root 正确配置的AppArmor / SELinux策略(当前的默认策略不够) Rancher团队第一时间响应 收到披露邮件后,RancherOS团队立刻尝试编写了攻击脚本,在一个普通容器中运行一个非常简单的脚本就完成了对主机的攻击,将主机上的runc替换成了其他程序。 漏洞披露后,Docker在第一时间发布了18.09.2,用户可升级到此版本以修复该漏洞。Rancher