草庐IT

数百个Docker容器镜像中隐藏漏洞,下载量高达数十亿次

Zhuolin 2023-03-28 原文
Rezilion发现了数百个Docker容器镜像的存在,这些镜像包含了大多数标准漏洞扫描器和SCA工具都没有检测到的漏洞。

研究发现,数百个Docker容器镜像中隐藏着许多高危险性/关键性的漏洞,这些容器镜像的下载量合计达数十亿次。其中包括已被公开的高知名漏洞。

一些隐藏的漏洞在野外被积极利用,这些漏洞是CISA已知被利用漏洞合集中的一部分,包括CVE-2021-42013、CVE-2021-41773、CVE-2019-17558。

经过研究发现漏洞存在的根本原因是无法检测未被软件包管理器管理的软件组件。

该研究解释了标准漏洞扫描器和SCA工具的固有操作方法是如何依靠从软件包管理器获取数据来了解扫描环境中存在哪些软件包的,这使得它们容易在多种常见情况下遗漏易受攻击的软件包,即软件的部署方式规避了这些软件包管理器。

根据该报告,规避部署方式的软件包管理器在Docker容器中很常见。研究小组已经发现了超过10万个以绕过软件包管理器的方式部署代码的容器镜像,包括DockerHub的大多数官方容器镜像。这些容器要么已经包含隐藏的漏洞,要么在其中一个组件的漏洞被发现后容易出现隐藏的漏洞。

研究人员确定了四种不同的情况,在这些情况下,软件的部署没有与软件包管理器进行交互,如应用程序本身、应用程序所需的运行、应用程序工作所需的依赖性,以及在容器镜像构建过程结束时没有删除的应用程序部署,并展示了隐藏的漏洞如何找到容器镜像。

"我们希望这项研究能让开发者和安全从业者了解这一漏洞的存在,这样他们就能采取适当的行动来减少风险,并推动供应商和开源项目增加对这些类型场景的支持,"Rezilion公司漏洞研究部主任Yotam Perkal说。"

最后需要提醒大家的是,只要漏洞扫描程序和SCA工具无法适应这些情况,任何以这种方式安装软件包或可执行文件的容器映像最终都可能包含'隐藏'漏洞。

有关数百个Docker容器镜像中隐藏漏洞,下载量高达数十亿次的更多相关文章

  1. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  2. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  3. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  4. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  5. ruby - 下载位置 Selenium-webdriver Cucumber Chrome - 2

    我将Cucumber与Ruby结合使用。通过Selenium-Webdriver在Chrome中运行测试时,我想将下载位置更改为测试文件夹而不是用户下载文件夹。我当前的chrome驱动程序是这样设置的:Capybara.default_driver=:seleniumCapybara.register_driver:seleniumdo|app|Capybara::Selenium::Driver.new(app,:browser=>:chrome,desired_capabilities:{'chromeOptions'=>{'args'=>%w{window-size=1920,1

  6. ruby-on-rails - HTTParty 的内存问题和下载大文件 - 2

    这会导致Ruby出现内存问题吗?我知道如果大小超过10KB,Open-URI会写入TempFile。但是HTTParty会在写入TempFile之前尝试将整个PDF保存到内存吗?src=Tempfile.new("file.pdf")src.binmodesrc.writeHTTParty.get("large_file.pdf").parsed_response 最佳答案 您可以使用Net::HTTP。参见thedocumentation(特别是标题为“流媒体响应机构”的部分)。这是文档中的示例:uri=URI('http://e

  7. ruby - 强制浏览器下载文件而不是打开文件 - 2

    我要下载http://foobar.com/song.mp3作为song.mp3,而不是让Chrome在其native中打开它浏览器中的播放器。我怎样才能做到这一点? 最佳答案 您只需要确保发送这些header:Content-Disposition:attachment;filename=song.mp3;Content-Type:application/octet-streamContent-Transfer-Encoding:binarysend_file方法为您完成:get'/:file'do|file|file=File.

  8. ruby - 检查网络文件是否存在,而不下载它? - 2

    是否可以在不实际下载文件的情况下检查文件是否存在?我有这么大的(~40mb)文件,例如:http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm这与ruby​​不严格相关,但如果发件人可以设置内容长度就好了。RestClient.get"http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm",headers:{"Content-Length"=>100} 最佳答案

  9. ruby-on-rails - Rubygems - 包在哪里下载? - 2

    当你安装一个新包时,例如,'geminstallfb-graph',文件下载到哪里了? 最佳答案 使用此命令查找特定gem的安装位置:gemwhich例如:gemwhichfb-graph 关于ruby-on-rails-Rubygems-包在哪里下载?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/13200065/

  10. ruby-on-rails - 私有(private) gem 没有安装在 docker 中 - 2

    我正在尝试使用docker运行一个Rails应用程序。通过github的sshurl安装的gem很少,如下所示:Gemfilegem'swagger-docs',:git=>'git@github.com:xyz/swagger-docs.git',:branch=>'my_branch'我在docker中添加了keys,它能够克隆所需的repo并从git安装gem。DockerfileRUNmkdir-p/root/.sshCOPY./id_rsa/root/.ssh/id_rsaRUNchmod700/root/.ssh/id_rsaRUNssh-keygen-f/root/.ss

随机推荐