Millions at Risk: PoC Exploit Releases for Vite Arbitrary File Read Flaw (CVE-2025-30208)
2025/03/27 SecurityOnline — 数百万もの最新 Web アプリを支える、超高速フロントエンド・ビルド・ツール Vite に、ファイル・アクセス制御バイパスの脆弱性が発見された。この脆弱性により、任意のファイル・コンテンツが、ブラウザに公開されてしまう可能性が生じている。この脆弱性 CVE-2025-30208 を悪用する攻撃者は、ファイル・システムの制限をバイパスし、機密情報へのアクセスの可能性を手にする。

この脆弱性は、Vite の開発サーバが、ファイル・リクエストを処理する際のプロセスに存在する。通常において、Vite は、指定された許可リスト外のファイルへのアクセスを制限している。ただし、URL に “?raw??” や “?import&raw??” といった特定のパラメータが追加されると、この制限がバイパスされることが判明した。この抜け穴により、攻撃者はサーバ上の任意のファイル・コンテンツを取得できてしまう。
幸いなことに、この脆弱性の影響は、一定の範囲に限定されている。影響を受けるのは、Vite 開発サーバを、ネットワーク上に明示的に公開するアプリケーションのみとなる。この欠陥を突くためには、一般的に –host 設定または、 server.host コンフィグ・オプションを使用する必要がある。ただし、開発サーバを公開するアプリケーションの場合には、悪用の結果は深刻であり、機密データの公開につながる可能性が生じる。
前述のとおり、この脆弱性は、Vite が URL リクエストを処理する方法に起因する。つまり、コードの特定の部分において、疑問符 “?” などの末尾の区切り文字が削除されてしまう。それに加えて、クエリ文字列の正規表現では、これらの末尾の区切り文字が考慮されないため、バイパスの隙間ができてしまう。
脆弱性 CVE-2025-30208 を実証する、PoC エクスプロイトが Github で公開されている。この PoC が示すのは、悪意の URL を作成する攻撃者が、保護されるべきファイルを読み取る方法である。特に懸念されるシナリオにおいて、この PoC は “/root/.bash_history” ファイルにアクセスし、アカウント・パスワードなどの機密情報の抽出を試みる。

この脆弱性の影響を受ける、Vite のバージョンは以下のとおりである:
- = 6.2.0、<= 6.2.2
- = 6.1.0、<= 6.1.1
- = 6.0.0、<= 6.0.11
- = 5.0.0、<= 5.4.14
- <= 4.5.9
以下のバージョンでパッチが適用され、この脆弱性は解決している:
- = 6.2.3
- = 6.1.2、< 6.2.0
- = 6.0.12、< 6.1.0
- = 5.4.15、< 6.0.0
- = 4.5.10、< 5.0.0
Vite の脆弱なバージョンを用いて、開発サーバをネットワークに公開している場合には、速やかにパッチ適用バージョンへと更新することが重要となる。それにより、不正なファイル・アクセスのリスクが解消し、機密データが保護される。さらに言えば、可能な限り開発サーバを、ネットワークに公開しないようにすることが、セキュリティ上良い習慣となる。
この脆弱性が影響するのは、Vite 開発サーバをネットワーク上に公開しているアプリケーションのみのようですが、PoC エクスプロイトが提供されたことで、悪用の可能性も高まります。また、このブログでは初登場の Vite ですが、DEV Community によると、OpenAI/Google/Microsoft/Apple/Shopify などでも採用されており、その影響範囲は非常に広いと言えます。Vite をご利用のチームは、十分にご注意ください。
You must be logged in to post a comment.