CVE-2019-13354 :Ruby strong_password库劫持

2019-07-12 16:52:392949人阅读

安全更新和升级是常见的确保安全的方式,但是供应链攻击也瞄准了这个方向。最近,研究人员发现新版本的strong_password中存在漏洞,Rubygems.org网站统计显示0.0.7恶意版本下载量共为537次。研究人员建议使用0.0.7版本的用户尽快回滚到之前版本。

漏洞分析

该漏洞是withatwist.dev博客作者安全研究人员Tute Costa发现的,Tute Costa在手动查看更新后的依赖关系时发现了该问题。

通过比较发布版本和源代码的变更日志,研究人员发现新发布的0.0.7版本与GitHub上发布的上一版本源代码并没有进行改变。

在分析0.0.7版本的commit时研究人员注意到了strong_password的代码:

WX20190712-162151@2x.png

首先解释一下恶意版本的Ruby strong_password库使用的pastebin.com payload:

WX20190712-162201@2x.png

1. 攻击者其实是黑掉了原来strong_password维护人员的账号来获取发布访问的权限。

2. 恶意版本0.0.7发布在Rubygems.org上,其中含有第一个payload。

3. 只有当应用被检测到在生产环境中运行,并且运行了特定时间后,才会触发恶意版本,向pastebin.com发送一个请求来取回payload并进行评估。

4. 来自pastebin.com的第二个payload会修改 Sendfile 方法来获取HTTP_COOKIE(即___id)的值,并进行评估。因此允许任意远程攻击者来进行远程命令执行。

5. 恶意代码会ping 服务器来提供运行应用的URL。

研究人员将该漏洞报告给了维护人员,此时维护人员发现竟然没有删除发布的权限了,随后该漏洞被分配CVE编号CVE-2019-13354。

恶意代码漏洞和供应链攻击

三个月前,攻击者就攻击了Ruby gems package bootstrap-sass,攻击者入侵了Rubygems.org的维护账号发布了恶意版本来引入远程代码执行后门。

除了Rubygems.org外,还有很多企业都被面临着供应链攻击的威胁。两周前,研究人员还发现了npm中存在针对加密货币挖矿钱包的恶意包。好的一点是,npm和rubygems的安全人员响应速度都很快。



本文翻译自:https://snyk.io/blog/ruby-gem-strong_password-found-to-contain-remote-code-execution-code-in-a-malicious-version-further-strengthening-worries-of-growth-in-supply-chain-attacks/,

翻译作者:ang010ela

原文地址:  https://www.4hou.com/info/news/19117.html

 


0
现金券
0
兑换券
立即领取
领取成功