CVE-2026-84373 in vitest
要約
〜によって VulDB • 2026年09月01日
VitestはViteによって駆動されるテストフレームワークです。バージョン2.1.0から4.1.11、および5.0.0-rc.2に至るまで、packages/mocker/src/node/interceptorPlugin.tsにおけるpublicなmockerPluginおよびstandalone interceptorPluginのエクスポートは、リダイレクト先をファイルサービングの許可リストに対して検証せずに、Viteの認証不要HMR WebSocketにvitest:interceptor:registerハンドラを登録します。実装ではisFileLoadingAllowedを通じてserver.fs.allowやserver.fs.denyが強制されることなくevent.redirectが処理されます。公開された開発サーバーへ到達可能なリモートクライアントは、..セグメントを保持するopaqueなURLスキーマを送信でき、join(server.config.root, redirectUrl.pathname)がプロジェクトルート外で解決されてしまいます。その後、プラグインのloadフックによりreadFile(mock.redirect, 'utf-8')がモジュールソースとして返され、開発サーバープロセスによって読み取り可能なローカルファイルが開示されます。Vitestのブラウザモードはトークン認証されたRPCを使用しており、デフォルトではリモートから認証不要ではありませんが、同様の境界チェック欠如がそのパスでも存在しました。この問題はバージョン4.1.11および5.0.0-rc.2で修正されています。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.