查看原文
其他

利用RunC 漏洞获得 Docker、Kubernetes 主机的 root 权限

Sergiu Gatlan 代码卫士 2022-04-06

 聚焦源代码安全,网罗国内外最新资讯!

编译:360代码卫士团队

runc 容器运行时中存在一个漏洞,可导致恶意容器(仅需最少用户交互)覆写主机 runc 二进制并获得主机监的root 代码执行权限。

runc是一款开源命令行工具,用于生成和运行容器。目前它是 Docker、containerd、Podman 和 CRI-O 容器的默认运行时。

runc 维护人员之一 Aleksa Sarai 表示,“用户交互级别是能够在如下任意一种上下文中在容器中以 root 权限运行任意命令(命令是否由攻击者受控制无关紧要):第一种上下文是使用受攻击者控制的图像创建一个新的容器;第二种上下文是将 (docker exec) 附加进攻击者此前具有写权限的现有容器中。”

该漏洞是由研究员 Adam Iwaniuk 和 Broys Poplawski 发现的,编号是 CVE-2019-5736,在用户名称空间正确使用的系统上遭自动拦截(不以 root 运行的容器不受影响)。

然而,它影响的机器“主机 root 被映射到容器的用户名称空间中”,因为默认的 AppArmor 策略和 Fedora 的默认 SELinux 策略并不会拦截 CVE-2019-5736 触发。

有必要注意的是,在 Fedora 盒子中,唯一该漏洞影响的是 moby-engine,docker 和 podman 并未受影响,因为它们以 container_t 运行所有的容器进程。

从 Shodan 首席执行官 John Matherly 分享的扫描结果来看,约有4000个 Docker 守护进程遭暴露。受影响最大的十个国家是美国(929)、中国(680)、新加坡(240)、爱尔兰(225)、德国(224)、法国(214)、加拿大(212)、韩国(200)、印度(192)和日本(187)。

Sarai 发布补丁,旨在修复可导致容器逃逸并使攻击者执行恶意容器后访问主机文件系统的 runc 缺陷。他还指出,“将在 CRD 公布7天后发布利用代码(也就是2月18日发布)。如果你有容器运行时,则需要验证是否易受该漏洞影响。”

目前,亚马逊、谷歌和 Docker已更新软件,建议所有用户更新至修复 CVE-2019-5736 漏洞的最新版本。




推荐阅读

密币挖掘恶意软件已成功通过 Docker 和 Kubernetes 转向云




原文链接

https://www.bleepingcomputer.com/news/security/runc-vulnerability-gives-attackers-root-access-on-docker-kubernetes-hosts/



本文由360代码卫士编译,不代表360观点,转载请注明“转自360代码卫士 www.codesafe.cn”。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存