セキュリティ研究者が、Visual Studio Code(VS Code)に存在する重大な脆弱性の詳細を公開しました。この脆弱性を悪用すると、ユーザーの GitHub トークンを窃取し、そのリポジトリにアクセスできる恐れがあります。
Microsoftの人気コードエディタに存在するこの脆弱性を発見したのは、セキュリティ研究者の Ammar Askar 氏です。同氏は、Microsoftへの事前通知なしに技術的詳細と PoC エクスプロイトを公開することを選択しました。
Askar 氏は、以前に VS Code の脆弱性を報告した際の「ひどい経験」を理由として挙げています。当時 Microsoft は、同氏への謝辞を一切掲載せず脆弱性を黙って修正したとのことです。
Askar 氏は、Microsoft が所有する GitHub のセキュリティチームメンバーに事前通知を行った1時間後となる6月2日に、新たな調査結果を公開しました。
ゼロデイとして開示されたこの脆弱性に対し、Microsoft は6月3日に修正パッチを公開しました。
このワンクリック攻撃の悪用には、攻撃者が特別に細工した Jupyter ノートブックを作成する手法が使われます。Webブラウザ上で完全に動作する VS Code の軽量版「github.dev」でそのノートブックを開くと、ノートブック内に仕込まれた隠しコードがキーストロークを擬似的に再現し、悪意のある拡張機能をインストールします。
この拡張機能は、被害者の GitHub アクセストークンを密かに窃取し、攻撃者に送信します。窃取されたトークンを使えば、プライベートリポジトリを含め、被害者がアクセス可能なすべてのリポジトリに対して読み書きの完全なアクセス権が攻撃者に与えられます。
攻撃を発動させるために必要なのは、被害者が悪意のあるノートブックへのリンクをクリックするだけです。
拡張機能がアクセスを要求している旨の通知が被害者に表示されますが、これは github.dev を一度も使用したことがない場合に限られます。
この攻撃は VS Code のデスクトップ版でも機能しますが、被害者による追加の操作が必要なため、ブラウザ版ほど容易ではありません。一方、デスクトップ版への攻撃では被害者のデバイス上でリモートコード実行につながる可能性があります。デスクトップ版は現時点でもパッチが未適用の状態とみられています。
SecurityWeek は Microsoft にコメントを求めており、同社から回答があり次第この記事を更新する予定です。
研究者がベンダーへの通知や修正パッチ公開の猶予を与えることなく Microsoft 製品の脆弱性を開示したケースは、今回が初めてではありません。
オンライン上で「Chaotic Eclipse」および「Nightmare Eclipse」として知られる研究者は、Microsoftとの脆弱性開示プロセスにおける意見の相違を受け、複数のゼロデイの PoC エクスプロイトを公開しています。
公開された脆弱性には、RedSun、UnDefend、BlueHammer、YellowKey、MiniPlasma、GreenPlasma などがあり、一部はすでに実際の攻撃で悪用されています。
Microsoft はゼロデイを公開する研究者に対して法的措置をちらつかせましたが、セキュリティコミュニティからの反発を受けて、後に懸念の払拭を試みました。
翻訳元: https://www.securityweek.com/vs-code-vulnerability-allows-one-click-github-token-theft/