加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 安全 > 正文

综合几个Bug达成Discord桌面应用RCE漏洞

发布时间:2022-08-26 10:27:14 所属栏目:安全 来源:互联网
导读:本文讲述了作者在参加Discord众测的过程中,通过多个bug的综合利用,成功发现了Discord桌面应用的远程代码执行漏洞(RCE),收获了$5,300的奖励。 Discord 是一款适用于游戏玩家一体化语音和文字聊天的即时通信(IM)软件。 目前 Discord 已经覆盖 Windows、MacO
  本文讲述了作者在参加Discord众测的过程中,通过多个bug的综合利用,成功发现了Discord桌面应用的远程代码执行漏洞(RCE),收获了$5,300的奖励。
 
  Discord 是一款适用于游戏玩家一体化语音和文字聊天的即时通信(IM)软件。 目前 Discord 已经覆盖 Windows、MacOS、Android、iOS、Windows Phone等多种主流平台。
 
  由于我对Electron架构的APP漏洞测试比较有经验,而刚好Discord应用正是基于Electron架构开发的,且我也是一名Discord用户,所以本着测试把玩的心态,我就对Discord进行了分析。

  我发现了以下Discord应用存在的三个bug,综合利用最终形成了RCE漏洞:
 
  Missing contextIsolation(contextIsolation功能未启用)
  XSS in iframe embeds(iframe嵌入功能中的XSS)
  Navigation 导航限制功能绕过 (Navigation restriction bypass,CVE-2020-15174)
  contextIsolation功能未启用(Missing contextIsolation)
 
  在测试Electron架构时,通常我会先检查BrowserWindow API的选项,当创建浏览器窗口时BrowserWindow API会被调用。测试时,我就在想,当Electron渲染器(renderer)加载时,怎样的任意JS代码执行才会引起RCE?
 
  虽然Discord的Electron架构并不是开源的,但Electron的JS代码是保存在应用本地,所以我是可以提取查看到的。通过本地JS代码的查看,我发现在APP主界面后台下,使用了以下方法函数:

  从上述代码片段中,可以看出,我们着重需要检查的是其中的nodeIntegration和contextIsolation配置,这里的nodeIntegration都被配置为了false,且原先未修改版本的和contextIsolation也被配置为了false。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读