BrowserView window.open() 漏洞修复
·阅读时间 2 分钟
发现了一个代码漏洞,允许在子窗口中重新启用 Node。
使用 sandbox: true
或 nativeWindowOpen: true
并设置 nodeIntegration: false
打开 BrowserView 会导致一个 webContents,其中 window.open
可以被调用,新打开的子窗口将启用 nodeIntegration
。此漏洞影响 Electron 的所有支持版本。
缓解措施
我们已发布新的 Electron 版本,其中包含此漏洞的修复: 2.0.17
、3.0.15
、3.1.3
、4.0.4
和 5.0.0-beta.2
。我们鼓励所有 Electron 开发者立即将他们的应用程序更新到最新的稳定版本。
如果出于某种原因无法升级 Electron 版本,可以通过禁用所有子 webContents 来缓解此问题。
view.webContents.on('-add-new-contents', (e) => e.preventDefault());
进一步信息
此漏洞由 PalmerAL 发现并负责任地报告给 Electron 项目。
要了解有关保护您的 Electron 应用安全的最佳实践,请参阅我们的安全教程。
如果您希望报告 Electron 的漏洞,请发送电子邮件至 security@electronjs.org。