跳到主要內容

BrowserView window.open() 漏洞修復

·閱讀時間 1 分鐘

已發現程式碼漏洞,允許在子視窗中重新啟用 Node。


開啟一個 BrowserView 並設定 sandbox: truenativeWindowOpen: truenodeIntegration: false,會導致一個 webContents,在其中可以呼叫 window.open,而新開啟的子視窗將會啟用 nodeIntegration。此漏洞影響所有支援的 Electron 版本。

緩解措施

我們已發布新版本的 Electron,其中包含此漏洞的修復:2.0.173.0.153.1.34.0.45.0.0-beta.2。我們鼓勵所有 Electron 開發人員立即將他們的應用程式更新到最新的穩定版本。

如果由於某些原因您無法升級您的 Electron 版本,您可以透過停用所有子 web contents 來緩解此問題。

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

更多資訊

此漏洞由 PalmerAL 發現並負責任地回報給 Electron 專案。

若要深入瞭解保持 Electron 應用程式安全的最佳實務,請參閱我們的安全性教學

如果您希望回報 Electron 中的漏洞,請發送電子郵件至 security@electronjs.org