协议处理程序漏洞修复
·阅读时长 2 分钟
已发现一个远程代码执行漏洞,它会影响使用自定义协议处理程序的 Electron 应用程序。此漏洞已分配 CVE 标识符 CVE-2018-1000006。
受影响的平台
设计为在 Windows 上运行的 Electron 应用程序,如果将自身注册为协议的默认处理程序(例如 myapp://
),则容易受到攻击。
无论如何注册协议(例如,使用原生代码、Windows 注册表或 Electron 的 app.setAsDefaultProtocolClient API),这些应用程序都可能受到影响。
macOS 和 Linux 不受 此问题的影响。
缓解措施
我们已经发布了包含此漏洞修复的新版本 Electron:1.8.2-beta.5
、1.7.12
和 1.6.17
。我们敦促所有 Electron 开发人员立即将其应用程序更新至最新稳定版本。
如果您出于某种原因无法升级 Electron 版本,则可以在调用 app.setAsDefaultProtocolClient 时将 --
作为最后一个参数追加,这将阻止 Chromium 解析进一步的选项。双破折号 --
表示命令选项的结束,此后只接受位置参数。
app.setAsDefaultProtocolClient(protocol, process.execPath, [
'--your-switches-here',
'--',
]);
有关更多详细信息,请参阅 app.setAsDefaultProtocolClient API。
要了解有关保持 Electron 应用程序安全的最佳实践的更多信息,请参阅我们的 安全教程。
如果您想报告 Electron 中的漏洞,请发送电子邮件至 [email protected]。