Rezilion发现了数百个Docker容器镜像的存在,这些镜像包含了大多数标准漏洞扫描器和SCA工具都没有检测到的漏洞。
研究发现,数百个Docker容器镜像中隐藏着许多高危险性/关键性的漏洞,这些容器镜像的下载量合计达数十亿次。其中包括已被公开的高知名漏洞。
一些隐藏的漏洞在野外被积极利用,这些漏洞是CISA已知被利用漏洞合集中的一部分,包括CVE-2021-42013、CVE-2021-41773、CVE-2019-17558。
经过研究发现漏洞存在的根本原因是无法检测未被软件包管理器管理的软件组件。
该研究解释了标准漏洞扫描器和SCA工具的固有操作方法是如何依靠从软件包管理器获取数据来了解扫描环境中存在哪些软件包的,这使得它们容易在多种常见情况下遗漏易受攻击的软件包,即软件的部署方式规避了这些软件包管理器。
根据该报告,规避部署方式的软件包管理器在Docker容器中很常见。研究小组已经发现了超过10万个以绕过软件包管理器的方式部署代码的容器镜像,包括DockerHub的大多数官方容器镜像。这些容器要么已经包含隐藏的漏洞,要么在其中一个组件的漏洞被发现后容易出现隐藏的漏洞。
研究人员确定了四种不同的情况,在这些情况下,软件的部署没有与软件包管理器进行交互,如应用程序本身、应用程序所需的运行、应用程序工作所需的依赖性,以及在容器镜像构建过程结束时没有删除的应用程序部署,并展示了隐藏的漏洞如何找到容器镜像。
"我们希望这项研究能让开发者和安全从业者了解这一漏洞的存在,这样他们就能采取适当的行动来减少风险,并推动供应商和开源项目增加对这些类型场景的支持,"Rezilion公司漏洞研究部主任Yotam Perkal说。"
最后需要提醒大家的是,只要漏洞扫描程序和SCA工具无法适应这些情况,任何以这种方式安装软件包或可执行文件的容器映像最终都可能包含'隐藏'漏洞。