Visual Studio の脆弱性 CVE-2023-28299:Microsoft が言うより悪用は簡単だ

Easily Exploitable Microsoft Visual Studio Bug Opens Developers to Takeover

2023/06/08 DarkReading — セキュリティ研究者たちが警告しているのは、Microsoft Visual Studio のインストーラに存在するバグにより、悪意のエクステンションを作成するサイバー攻撃者が、正規のソフトウェア・パブリッシャーを装い、アプリケーション開発者に配布する方法が生じる点である。そのような悪意のエクステンションを介して開発環境に侵入し、制御を奪い、コードを汚染させ、価値の高い知的財産を盗むことが可能になるという。


Microsoft は4月の月例セキュリティアップデートで、このスプーフィングの脆弱性 CVE-2023-28299 に対するパッチを提供した。その際に同社は、この脆弱性の深刻度を Medium とし、攻撃者が悪用し難いバグであると評価していた。しかし、この脆弱性を発見した Varonis の研究者たちは、今週のブログで、このバグと潜在的な影響について、少し異なる見解を示している。

このブログポストによると、このバグの悪用は簡単であるという。しかも、マーケット・シェアが 26% で、30,000 人以上ものユーザーに使用されている音考えると、もっと注目されるべきだと述べている。

Varonis のセキュリティ研究者である Dolor Taler は、「Varonis Threat Labs が発見した UI のバグにより、人気のパブリッシャーに成りすました脅威アクターは、悪意のエクステンションを発行し、標的システムを侵害することが可能になる。それらの悪意のエクステンションが可能にするものには、機密情報の窃取/コードの改竄/システムの乗っ取りなどがある」と指摘している。

CVE-2023-28299:注意を喚起するもの

Varonis が発見した脆弱性は、Visual Studio IDE (integrated development environment) の複数のバージョン (Visual Studio 2017〜Visual Studio 2022) に影響を及ぼす。この脆弱性は、エクステンション・プロパティである “product name” に、ユーザーが情報を入力できないようにする Visual Studio のセキュリティ制限を、誰もが簡単に迂回できるようにするものだ。

Varonis の Taler は、「攻撃者が Visual Studio Extension (VSIX) パッケージを “.ZIP” ファイルとして開き、”extension.vsixmanifest” ファイルのタグに手動で改行文字を追加するだけで、この制御を迂回できる。この改行文字は、開発者がテキスト行の終わりを示すために使用するものであり、カーソルが画面上の次の行の先頭に移動させるものだ」と指摘している。

さらに Taler は、「エクステンション名に、十分な数の改行文字を追加することで、Visual Studio インストーラに含まれる全てのテキストを強制的に押し下げられ、そのエクステンションにデジタル署名が無いという警告を、見えなくすることが可能なる」と付け加えている。

また、脅威アクターは、エクステンション名の下の領域を制御し、簡単に偽のデジタル署名を追加することが可能になるため、ユーザーからは本物に見えてしまうと、Taler は述べている。

悪意のあるエクステンションをプッシュする複数の配信オプション

悪意のエクステンションをソフトウェア開発者に配信し、そのシステムを侵害する攻撃者には、フィッシングやソーシャル・エンジニアリングなどの、複数の選択肢があると Varonis は 述べている。つまり、攻撃者たちは、このエクステンションの脆弱性を悪用して、組織の開発エコシステムや、魅力的な標的の多い環境へと侵入していくことになる。

パスワード管理ベンダーである LastPass は、ソフトウェア開発者のシステムに対する標的型攻撃により、開発システムが侵害されるという経験を持つ企業である。このインシデントでは、開発者のマシンにインストールされていたメディア・プレーヤーの脆弱性を悪用した攻撃者が、そこにマルウェアをインストールし、最終的には LastPass のプロダクション・バックアップにアクセスする手段を手に入れたという。

Varonis の Director of Research and Security である Or Emanuel は、「ユーザーを騙して、悪意の Visual Studio エクステンションを実行させる攻撃者は、いくつかのアプローチを使用できる。たとえば、開発者コミュニティ・サイトの投稿をクリックさせ、マルウェアを仕込んだエクステンションをダウンロードさせる、悪意の Web ページへと誘導できる」と述べている。

また、Varonis の Security Research Manager である Dvir Sason は、「他の感染経路として挙げられるものには、本物の VSIX エクステンションを模倣した、偽装 VSIX を取り込んだフィッシング・メールなどもある。また、クラックされたソフトウェアを配布する Web サイトや、Microsoft のマーケットプレイスで正規のエクステンション typosquat することでも感染する可能性がある」と述べている。

彼は、「セキュリティに詳しくない開発者がターゲットにされるが、彼らが取り組んでいる開発は、価値の高い知的財産である可能性がある。悪意のエクステンションのインストールが成功すると、トリガーとなるペイロードを隠すことが可能になり、感染させたシステムからの通信を、時間をかけて待つことも可能になる。さらに、自動コンパイルにより悪意のコードが追加される可能性があり、また、エンドポイント防御を破る可能性も生じる」と付け加えている。

Emanuel は、「これらの、すべてのシナリオは、ユーザーとのインタラクションを伴う。つまり、攻撃者は、Visual Studio の正規のエクステンションを偽装したものを容易に開発できるが、それをターゲットにインストールさせる必要がある。感染経路において、ユーザーとの対話が必須になるため、リモートコード実行 (RCE) の欠陥ほど深刻ではないと考えられる。とは言え、最新版ではない Visual Studio ユーザーは、危険にさらされることになる」と補足している。

彼は、「いまになって Varonis がアドバイザリを公表したのは、Visual Studio をアップデートするための十分な時間を、ユーザー組織が確保できるようにするという理由があったからだ」と述べている。

2023年に入ってからですが、Visual Studio 拡張機能を利用する悪意のエクステンションの存在と、それによる VSCode Marketplace の汚染が問題化してきました。GitHub/PyPI/npm などの状況を見れば分かることですが、大きな問題になっている OSS リポジトリ汚染が、Microsoft の開発環境にも広がってきているのです。そして、今日の記事で紹介されている、脆弱性 CVE-2023-28299 の悪用に成功した攻撃者は、Visual Studio のセキュリティ制限を容易に回避できるようです。よろしければ、VSCode で検索も、ご利用ください。