Critical と評価される脆弱性が多すぎる:Electron 開発チームの主張とは?

Electron Team Addresses “runAsNode” CVE Misconceptions

2024/02/11 SecurityOnline — 日進月歩のソフトウェア開発において、セキュリティは常に最重要課題であり、特に脆弱性が報告された場合には、多くの人々に影響が生じる。先日に Electron 開発チームは、Discord/Postman/Notion/Evernote などの macOS アプリに関連する、複数の CVE が公開されたことを受け、この懸念の嵐に直面した。これらの脆弱性では、”runAsNode” と “enableNodeCliInspectArguments” の設定が問題のコアとされ、報告された脆弱性の本質と深刻度について重要な対話が巻き起こった。


デスクトップ・アプリを作成する際の強固なフレームワークとして知られる、Electron を用いて開発された macOS アプリ上でリモートコード実行を可能にする、一連の脆弱性に問題のコアがあった。

そのため、サイバーセキュリティ・コミュニティと CVE データベースにおいて、この懸念を Critical ステータスにまで高めるという展開が生じた。しかし、Electron チームは、これらの主張に異議を唱えるために名乗りを上げ、脆弱性の複雑さと、それらが存在する背景に光を当てた。

2024年2月7日に、Electron チームは詳細な反論を発表し、脆弱性の存在を認めながらも、懸念とされるリモート・コード実行の可能性に対して強く異議を唱えた。つまり、この脆弱性が脅威となる前提として、すでに攻撃者はマシン上で、任意のコマンドを実行する能力を持つことが条件となる。つまり、攻撃者に要求されるシナリオとしては、デバイスへの物理的アクセス、もしくは、システムに対する事前の侵害が必要になるのだ。

同チームの分析によると、この脆弱性は存在するが、当初に分類された Critical な脅威レベルには該当しない。前述の通り、攻撃者は事前にアクセスを得ておく必要があるため、この脆弱性 がもたらす直接的なリスクは大幅に減少する、そして、この脆弱性の実際の影響についても、簡単なエクスプロイトは不可能であり、より細かなニュアンスを理解すべきという方向へ焦点は移動している。

さらなる批評は、CVE 提出プロセスへと向けられている。つまり、バグ報奨金プログラムが確立されているが、影響を受けるアプリの開発者に知らされずに、放置されることが多々あるという主張である。このステップの見落としは、CVE 提出の背後にある意図への疑問でもあり、また、ユーザーと開発者に対して不必要な警戒心を抱かせるものだ。

これらの発見を踏まえて Electron チームは、現時点で議論されている脆弱性を効果的に緩和するためのガイダンスを提供している。最も簡単な対策は、Electron アプリケーションの “runAsNode” 機能を無効化することだ。このプロセスの詳細な手順は、他のセキュリティ対策とともに、Electron Fuses のドキュメントに記載されている。開発者たちに推奨されるのは、アプリの完全性と安全性を確保するために、これらのリソースを活用することだ。