Electron本地命令执行漏洞

Electron是一款实用JavaScript,HTML和CSS构建跨平台的桌面应用的框架。

漏洞简介

由于使用Electron的软件可以注册自有的协议如electron://,当访问注册协议起始的URI时,其会调用注册协议的应用程序,并将跟随在后的路径作为参数传递给该进程,对参数处理机制不当造成参数注入,导致能够执行命令的程序参数Chromium引擎,Chromium引擎解析了对应参数,最终导致了代码执行。

故当PC机上安装了使用漏洞版本的Electron的软件时,点击针对此次漏洞利用的URL链接就有可能导致远程命令执行。

影响版本

electron v1.8.2-beta.3及之前所有1.8版本

electron v1.7.10及之前所有1.7版本

electron v1.6.15及之前所有1.6版本。

值得注意的是,该漏洞仅在Windows平台才存在漏洞利用的条件。

修复方案

官方修复漏洞的版本为electron v1.8.2-beta.4、electron v1.7.10、electron v1.6.15。受影响的用户请尽快升级到官方最新已修复漏洞的版本或框架。

对于暂时无法进行修复的软件开发者可以通过设置'--'为app.setAsDefaultProtocolClient中的最后一个参数,避免Chromium解析可能导致代码执行的选项。具体可见查看官方修复建议中的Mitigation部分。

参考:

1.官方修复建议:

https://electronjs.org/blog/protocol-handler-fix

2.潜在使用该存在漏洞框架的软件列表:

https://electronjs.org/apps

3.可用于验证漏洞的官方样例:

https://github.com/electron/electron-api-demos

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180124B0N9ZE00?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区