BrowserView window.open() 漏洞修复
· 阅读时间:约 2 分钟
已发现一个代码漏洞,允许在子窗口中重新启用 Node。
打开一个带有 sandbox: true 或者 nativeWindowOpen: true 和 nodeIntegration: false 这些属性的 BrowserView ,将生成一个 webContents ,里面的window.open 方法可以被调用,同时新打开的子窗口将启用 nodeIntegration。 此漏洞会影响所有受支持的 Electron 版本。
Mitigation
We've published new versions of Electron which include fixes for this vulnerability: 2.0.17, 3.0.15, 3.1.3, 4.0.4, and 5.0.0-beta.2. 我们鼓励所有 Electron 开发者立即更新他们的应用程序到最新稳定版本。
如果由于某些原因,无法升级 Electron 版本,你可以通过禁用所有子网页内容来缓解这个问题:
view.webContents.on('-add-new-contents', (e) => e.preventDefault());
Further Information
此漏洞是由 PalmerAL发现并负责任地报告给Electron项目的。
要了解更多关于维护您的 Electron 应用安全的最佳做法,请参阅我们的 安全教程。
If you wish to report a vulnerability in Electron, email security@electronjs.org.
