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.