ce安全网绿色资源分享

教程资讯|常用软件|安卓下载|下载排行|最近更新

软件
软件
文章
当前位置:首页网络安全安全文章 → Electron WebPreferences远程代码执行漏洞

Electron WebPreferences远程代码执行漏洞

时间:2018-08-27 00:01:51人气:作者:本站作者我要评论

Electron WebPreferences远程代码执行漏洞

Contrast Labs安全人员发现了一个影响应用程序的远程代码执行(RCE)漏洞,具体来说,该漏洞能够在不同版本的Electron(3.0.0-beta.6、2.0.7、1.8.7和1.7.15)中打开嵌套子窗口。目前,该漏洞已经分配了相应的CVE编号,即CVE-2018-15685

关于Electron

简单来说,Electron是一个可以为日常使用的各种应用程序提供支持的框架。举例来说,Slack、Atom、Visual Studio Code、WordPress Desktop、Github Desktop、Skype和Google Chat都是运行在Electron框架之上的应用程序,当然,这些只是其中一小部分应用程序而已。该框架允许开发人员将传统Web应用程序快速移植为本机跨平台桌面应用程序。

漏洞详情

最近,SecurityMB在一篇介绍Google Chat安全漏洞的文章中指出,攻击者可以创建一个链接,当受害者点击该链接时,就会从谷歌站点重定向到攻击者控制的内容,但是,他仍然位于该Electron应用中。在Google审核该漏洞之后,他们发现这个漏洞可能会导致远程执行代码,因此,为该漏洞的发现者发了一笔不小的奖金。

虽然谷歌很快就修复了这个与重定向相关的安全问题,但我仍然好奇代码执行的确切路径到底是什么。我们知道,Google Chat是建立在Electron框架之上的。Electron有一个详细的安全指南(可从这里访问),并且,Google也遵循了大部分的安全建议。更具体地说,他们将“nodeIntegration”设置为false。通常情况下,Electron窗口的webcontent是可以访问该框架下面的Node Javascript引擎的。同时,Node也提供了许多核心库,用来协助访问文件系统并执行代码。在构建应用程序时,这些库虽然能够带来很大的便利性,但是,从安全角度来说,我们是绝不希望看到用户控制的代码也能够访问这些库的。为此,可以将“nodeIntegration”设置为false,这样的话,即使用户能够加载远程内容,我们的应用程序也“应该”是安全的。

但是,经过一些测试后,我发现了一个比较简单的有效载荷,竟然可以用来访问Node绑定功能:

  1. open('about:blank').open('data:text/html,<script>document.write(process.cwd())</script>')

刚开始,我认为这一定是Google Chat开发小组的一个疏忽,但经过一番研究后,我发现事实并非如此,因为,创建的每个窗口都设置了以下属性

  1. win.webPreferences = {
  2.   allowRunningInsecureContent: false,
  3.   contextIsolation: true,
  4.   nodeIntegration: false,
  5.     nativeWindowOpen: true
  6. }

经过一段时间的探索,并与Luca Carettoni(过去曾在Electron方面做过一些非常好的研究)进行多次交流之后,我们更加确信,这其实是Electron框架本身的一个漏洞。我们在一个未合并的PR中也遇到了类似的讨论。

看起来,问题在于窗口的属性无法通过嵌套窗口和iframe正确地继承。这意味着任何应用程序,在下列情况下都会生成易受攻击的窗口:

用户代码在iframe内运行,或 可以创建一个iframe,或 如果您使用“nativeWindowOpen:true”或“sandbox:true”选项打开任何窗口.

归根结底,问题的“根本原因”在于不安全的默认设置。在这种情况下,如果使用默认设置,那么窗口就可以访问Node绑定功能,并且不会被隔离。因此,当一个窗口没有按预期继承属性时,就会使用不安全的默认值,问题就随之而来了。如果默认值是安全的,就不会出现这个安全问题了。虽然修改API可能是一个困难的途径,但我希望Electron团队能够努力向这个方向发展。

如何保护企业免受类似的CVE漏洞的威胁

在采用第三方框架时,请务必验证默认的安全设置,因为这些默认值通常不是为安全性而生,而是为性能优化而设置的。

相关文章

猜你喜欢

  • 深入解析浅谈《快3单双准确率方法》成功方案

    2022-09-28 /

  • 全网首发《快3单双大小必中方法技巧》思路汇总

    2022-09-28 /

  • 资深攻略《快3大小必中技巧》上岸方法

    2022-09-28 /

  • 【最准确的玩法】《回血上岸计划导师QQ》操作系列

    2022-09-28 /

  • 经验教程《导师一分快三计划》最新窍门

    2022-09-28 /

  • 高手教你《大小单双最安全的打法》三期必中

    2022-09-28 /

网友评论

验证码:

请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

最新评论

已有人参与,点击查看更多精彩评论

本类推荐

关于CE安全网 | 联系方式 | 发展历程 | 版权声明 | 下载帮助(?) | 广告联系 | 网站地图 | 友情链接

Copyright 2019-2029 cesafe.com 【CE安全网】 版权所有 琼ICP备2021004244号-1| 琼ICP备2021004244号-1

声明: 本站为非赢利性网站 不接受任何赞助和广告 所有软件和文章来自互联网 如有异议 请与本站联系 技术支持:ce安全网