プロトコルハンドラ脆弱性修正
カスタムプロトコルハンドラを使用するElectronアプリに影響を与える、リモートコード実行の脆弱性が発見されました。この脆弱性には、CVE識別子CVE-2018-1000006が割り当てられています。
影響を受けるプラットフォーム
Windowsで実行するように設計され、`myapp://`のようなプロトコルのデフォルトハンドラとして自身を登録するElectronアプリは、脆弱性があります。
ネイティブコード、Windowsレジストリ、またはElectronのapp.setAsDefaultProtocolClient APIを使用するなど、プロトコルの登録方法に関係なく、これらのアプリは影響を受ける可能性があります。
macOSとLinuxは、この問題に対して**脆弱ではありません**。
軽減策
この脆弱性を修正したElectronの新しいバージョンを公開しました。`1.8.2-beta.5`、`1.7.12`、および`1.6.17`です。すべてのElectron開発者は、アプリを最新の安定版にすぐにアップデートすることを強くお勧めします。
何らかの理由でElectronのバージョンをアップグレードできない場合は、app.setAsDefaultProtocolClientを呼び出す際に、最後の引数として`--`を追加できます。これにより、Chromiumがさらにオプションを解析することが防止されます。二重ダッシュ`--`はコマンドオプションの終了を示し、その後は位置パラメータのみが受け付けられます。
app.setAsDefaultProtocolClient(protocol, process.execPath, [
'--your-switches-here',
'--',
]);
app.setAsDefaultProtocolClient APIの詳細については、こちらを参照してください。
Electronアプリのセキュリティを維持するためのベストプラクティスについて詳しくは、セキュリティチュートリアルをご覧ください。
Electronの脆弱性を報告する場合は、security@electronjs.orgまでメールでお問い合わせください。