VSCodeの脆弱性でGitHubトークン盗取
原題: 1-Click GitHub Token Stealing via a VSCode Bug
なぜ重要か
開発者に広く使用されるVSCodeの脆弱性は、企業のソースコード保護において重大なセキュリティリスクを示している。
セキュリティ研究者がVSCodeのwebview機能における脆弱性を発見し、攻撃者がリンクをクリックするだけでユーザーのGitHubアクセストークンを盗取できることを実証。この脆弱性により、プライベートリポジトリを含む全リポジトリへの読み書きアクセス権限が悪用される可能性がある。
セキュリティ研究者のAmmar Askarが、Microsoft VSCodeのwebview機能に存在する脆弱性を公開した。この脆弱性により、攻撃者は被害者にリンクをクリックさせるだけで、GitHubのOAuthトークンを盗取できる。問題となったのはVSCodeのwebviewセキュリティモデルで、異なるオリジン間での安全な通信のためにpostMessage APIを使用している点だった。GitHubのgithub.dev機能では、ユーザーがブラウザ上でVSCodeの軽量版を実行でき、リポジトリの閲覧や編集が可能となっている。この機能実現のため、github.comはOAuthトークンをgithub.devに送信するが、このトークンは特定のリポジトリに限定されず、ユーザーがアクセス可能な全リポジトリへの権限を持つ。VSCodeのwebviewは、Markdownプレビューや Jupyter notebook編集などで使用されており、vscode-webview://オリジンのiframe内でJavaScriptが実行される際の隔離機能を提供している。この隔離により、通常はElectronアプリ内でのリモートコード実行が防がれているが、今回発見された脆弱性はこのセキュリティモデルを迂回する手法を示している。