Slack 更新桌面应用程序修复严重远程代码执行漏洞
远程执行代码的漏洞可能使攻击者完全控制目标计算机上的Slack桌面应用程序。
研究人员报告说,Slack修补了一个严重的远程代码执行漏洞,该漏洞可能使攻击者能够在其协作软件的桌面版本中执行任意代码。
Evolution Gaming的安全工程师Oskars Vegeris发现了该漏洞,并于2020年1月通过HackerOne与Slack私下共享。该漏洞的CVSS分数在9到10之间,并且可能允许攻击者接管Slack桌面应用程序。
有了成功的利用,攻击者就可以访问Slack中的私钥,密码,秘密,文件和对话。根据目标设备上Slack的配置,他们还可以访问内部网络并探索环境。
Vegeris 在一份报告中解释说:“通过任何应用程序内重定向-逻辑/开放重定向,HTML或javascript注入,都有可能在Slack桌面应用程序中执行任意代码。” 该报告详细介绍了包括HTML注入,安全控制绕过和RCE JavaScript有效负载。
他补充说,该漏洞已经过测试,并且可以在Mac,Windows和Linux上的最新Slack桌面版(4.2和4.3.2)上运行。Slack在2月发布了该漏洞的初步修复程序。它于8月31日通过HackerOne披露。
Vegeris说,这个问题存在于制作Slack post的方式上。攻击者首先需要在自己的启用HTTPS的服务器上上传包含RCE有效负载的文件。然后,他们会创建一个新的Slack post,该帖子将在 files.slack.com 上使用特定的JSON结构创建一个新文件。他们可以直接编辑此JSON结构并添加任意HTML。
Vegeris指出,JavaScript的执行受到Slack的内容安全策略(CSP)的限制,并且某些HTML标签具有安全保护。例如,“ iframe”,“ applet”,“ meta”,“ script”和“ form”都被禁止,并且“ target”属性被A标签覆盖为_blank。
但是,他发现仍然可以注入area和map标签,这些标签可用于实现一键式远程代码执行。Vegeris说,攻击者可以使用Slack提供的Web用户界面来编辑JSON结构并注入恶意代码。可以更改有效负载以访问专用对话,文件和令牌,而无需在受害设备上执行新命令。
用户所需要做的就是单击通过Slack共享的恶意帖子,然后在其PC上执行代码。HTML将用户的桌面应用程序重定向到攻击者的网站,该网站使用RCE JavaScript进行回复。他解释说,该漏洞绕过了Slack桌面应用程序env,泄漏了Electron对象,并在目标设备上执行了任意命令。
“从本质上讲,这可以通过覆盖Slack桌面应用程序env函数,并通过BrowserWindow提供’tunnel’来执行任意Javascript,从而使攻击者对Slack桌面应用程序具有完全的远程控制,例如,一个具有完全访问权限的Slack应用程序具有奇怪的XSS的情况-轻松访问私人频道,对话,功能等。” Vegeris写道。
Slack桌面应用程序中的RCE也可以设置为“可蠕虫”,这意味着单击它后可以重新发布到所有用户工作区。
研究人员还发现,以明文形式发送的电子邮件未经过滤就存储在files.slack.com 上的Slack服务器上。他解释说,如果直接访问,它们将以文本/ HTML的形式返回而无需强制下载。他说,此功能可能使攻击者无需自己托管就可以存储RCE有效负载。
他说:“由于它是一个受信任的域,因此它可能包含带有伪造的Slack登录页面或其他任意内容的网络钓鱼页面,这可能会影响Slack的安全性和声誉。”他指出,他没有发现任何安全标头或其他限制。
敦促Slack用户将其桌面应用程序更新到版本 4.4,以修复该漏洞。
安全研究的价值
200亿美元的公司 Slack 的价值研究通过其漏洞赏金计划向Vegeris仅支付了1,750美元用于RCE漏洞。它还在2月份发布了有关该漏洞的博客文章,而忽略了Vegeris的工作,该公司最近对此表示歉意。
考虑到Vegeris在他的写作和披露上投入的时间和精力,以及全球组织用于业务所有部分(信息安全、设计、合并等)敏感讨论的协作平台中这一漏洞的严重性,安全界成员对这笔似乎达不到的支出表示失望。
安全专家和OWASP ASVS标准的合著者Daniel Cuthbert发布了一个Twitter线程,呼吁Slack“适当付费”进行漏洞研究。他指出,如果在Dark Web上销售,这样的漏洞利用程序可能会远远超过1,750美元。如果另一个研究人员首先发现了这个漏洞,Slack可能就没有机会及时修补了。
