BrowserView window.open() 漏洞修復
·閱讀時間 1 分鐘
已發現程式碼漏洞,允許在子視窗中重新啟用 Node。
開啟一個 BrowserView 並設定 sandbox: true
或 nativeWindowOpen: true
和 nodeIntegration: false
,會導致一個 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 版本,您可以透過停用所有子 web contents 來緩解此問題。
view.webContents.on('-add-new-contents', (e) => e.preventDefault());
更多資訊
此漏洞由 PalmerAL 發現並負責任地回報給 Electron 專案。
若要深入瞭解保持 Electron 應用程式安全的最佳實務,請參閱我們的安全性教學。
如果您希望回報 Electron 中的漏洞,請發送電子郵件至 security@electronjs.org。