跳到主内容

BrowserView window.open() 漏洞修复

·一分钟阅读

已发现一个代码漏洞,它允许在子窗口中重新启用 Node。


通过设置 sandbox: truenativeWindowOpen: true 以及 nodeIntegration: false 来打开 BrowserView,会导致其中 window.open 方法被调用时,新打开的子窗口会启用 nodeIntegration。此漏洞影响所有受支持的 Electron 版本。

缓解措施

我们已发布包含此漏洞修复的新版本 Electron:2.0.173.0.153.1.34.0.45.0.0-beta.2。我们建议所有 Electron 开发者立即将他们的应用更新到最新的稳定版本。

如果由于某种原因您无法升级您的 Electron 版本,您可以通过禁用所有子网页内容来缓解此问题。

view.webContents.on('-add-new-contents', (e) => e.preventDefault());

更多信息

此漏洞由 PalmerAL 发现并负责任地报告给 Electron 项目。

要了解更多关于保证 Electron 应用安全的最佳实践,请参阅我们的安全教程

如果您希望报告 Electron 中的漏洞,请发送电子邮件至 security@electronjs.org