上周六,18 月 XNUMX 日,Kenna Security 的 Jerry Gamblin
高山背景
进行小型研究的原因是本月早些时候出现的 Talos 漏洞报告(
“Alpine Linux Docker 镜像的官方版本(从 v3.3 开始)包含 root 用户的 NULL 密码。 该漏洞是 2015 年 XNUMX 月出现的回归的结果。 其本质归结为这样一个事实,即在容器中部署了有问题的 Alpine Linux 版本并使用 Linux PAM 或使用系统影子文件作为数据库进行身份验证的其他机制的系统可以接受 root 用户的空 (NULL) 密码。
针对该问题测试的 Alpine Docker 镜像版本为 3.3-3.9,以及最新版本的 edge。
作者向受影响的用户提出以下建议:
“在从有问题的 Alpine 版本构建的 Docker 镜像中,必须明确禁用根帐户。 该漏洞的可能利用取决于环境,因为它的成功需要使用 Linux PAM 或其他类似机制的外部转发服务或应用程序。
问题是 /etc/shadow
或确保包裹丢失 linux-pam
.
接自 Docker Hub
Jerry Gamblin 决定询问“在容器中使用空密码的做法可能有多普遍”。 为此,他写了一个小
- 通过对 Docker Hub 中的 API 的 curl 请求,请求那里托管的 Docker 镜像列表;
- 通过 jq 它按字段排序
popularity
,并且从获得的结果来看,前一千名仍然存在; - 对于他们每个人,
docker pull
; - 对于从 Docker Hub 收到的每个图像,
docker run
从文件中读取第一行/etc/shadow
; - 如果字符串值等于
root:::0:::::
, 图像名称被保存到一个单独的文件中。
发生了什么? 在
“这份名单上最著名的名字包括 govuk/governmentpaas、hashicorp、微软、孟山都和 mesosphere。 kylemanna/openvpn 是列表中最受欢迎的容器,拉取次数超过 10 万次。”
然而,值得回顾的是,这种现象本身并不意味着使用它们的系统的安全性存在直接漏洞:这完全取决于它们的使用方式。 (见上面阿尔卑斯案例的评论). 然而,我们已经多次看到“这个故事的寓意”:表面上的简单往往有一个缺点,你应该永远记住这一点,并在你使用技术的场景中考虑到它的后果。
PS
另请阅读我们的博客:
- «
Docker Hub 上镜像中基本操作系统的统计信息 “; - «
安全要求高的环境中的 Docker 和 Kubernetes “; - «
runc中的漏洞CVE-2019-5736,允许在主机上获得root权限 “; - «
Vulnerable Docker VM - 用于 Docker 和渗透测试的益智虚拟机 “。
来源: habr.com