本文へ移動

BrowserView window.open()脆弱性修正

·1分間の読書

子ウィンドウでNodeを再び有効にすることができるコードの脆弱性が発見されました。


sandbox: trueまたはnativeWindowOpen: truenodeIntegration: falseを使用してBrowserViewを開くと、window.openを呼び出すことができるwebContentsが生成され、新しく開かれた子ウィンドウでnodeIntegrationが有効になります。この脆弱性は、サポートされているすべてのElectronバージョンに影響します。

軽減策

この脆弱性を修正するElectronの新しいバージョンを公開しました:2.0.173.0.153.1.34.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までメールでお問い合わせください。