packagist.org远程代码执行漏洞 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

packagist.org远程代码执行漏洞

ang010ela 漏洞 2018-09-05 11:06:10
171989
收藏

导语:研究人员Max Justicz日前发现了packagist.org网站的一个远程代码执行漏洞,本文对该漏洞进行分析。

研究人员Max Justicz日前发现了packagist.org网站的一个远程代码执行漏洞。packagist.org是php包管理器Composer的默认包服务器,Packagist目前服务的下载量大约是每个月4亿。

图片.png

研究人员发现的packagist.org bug技术上并没有非常创新,但研究人员认为Packagist是一个主流的服务,因此写了这篇博客(近期通过供应链进行攻击的例子也很多,攻击者也可能通过Packagist网站的远程代码执行漏洞发起供应链攻击)。

漏洞

在网站的文本域内输入$(execute me)就会在shell中执行命令。

图片.png

漏洞产生原因

用户向Packagist上传包时会提供一个到Git、Perforce、Subversion、Mercurial库的URL。为了识别URL是指向哪种库,URL中会含有shell输出的git、p4、svn、hg等命令作为参数。

研究人员用运行shell命令的ProcessExecutor::execute来打印请求执行的命令。对$(sleep 1)的URL,会运行下面的命令:

git ls-remote --heads '$(sleep 1)'
hg identify '$(sleep 1)'
p4 -p $(sleep 1) info -s
svn info --non-interactive $(sleep 1)

从上面的命令可以看出,p4和svn wrapper会不适当地泄露URL参数。

缓解措施

研究人员将漏洞报告给security@packagist.org ,Packagist团队很快就修复了该漏洞。

图片.png

更多参见:https://github.com/composer/composer/commit/bf125295df9da84c44989e33f9f84b4ed4f8ea56

结论

包管理器的安全性一直不理想,包管理器服务器运维人员应该想到有一天会被入侵。

去年rubygems.org出现了任意代码执行漏洞,一些npm官方镜像中也出现了代码执行漏洞,PyPI出现了任意释放文件删除漏洞,使用主流CDN的npm站点出现了服务器任意JS执行漏洞,现在packagist.org又出现了任意代码执行漏洞。其他网站也出现了类似漏洞,甚至存在合法包文件被黑的风险。

  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2024 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务