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可能就沒有機會及時修補了。