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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-10952-ml-logger-AFR — PoC for CVE-2025-10952 — ml-logger の未認証任意ファイル読み取り。CVSS 5.3 | Kitploit
ツール/GitHubGitHub/khashayarnzk/cve-2025-10952-ml-logger-afr
脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト
GitHubkhashayarnzk/cve-2025-10952-ml-logger-afr

CVE-2025-10952-ml-logger-AFR

PoC for CVE-2025-10952 — ml-logger の未認証任意ファイル読み取り。CVSS 5.3

リポジトリを見る
9時間40分前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-10952 — ml-logger stream_handler 任意文件读取

このリポジトリは、ml-logger の stream_handler における認証不要の任意ファイル読み取り脆弱性を悪用し、/glob エンドポイントと連鎖させてファイルシステムを列挙するスタンドアロンのPythonスクリプト CVE-2025-10952.py を提供します。

脆弱性のある ml-logger インスタンスに対して実行すると、以下の動作を行います:

  • /glob エンドポイントを介してターゲットホスト上のファイルを列挙します(認証不要、意図されたスコープ外へのパス制限なし)。
  • ハンドラのベースパス結合ロジックを突破するように細工された key パラメータを指定し、/stream エンドポイントを介して任意のファイルを読み取ります。
  • 取得したファイルを必要に応じてディスクに保存し、後続の利用(例: 流出したSSH秘密鍵)に備えます。

stream_handler はクライアントから提供された フィールドを、包含チェックなしで直接ファイルパス解決およびストリーミング呼び出しに渡すため、認証不要のネットワーク攻撃者は、サービスのOSユーザーがアクセス可能な任意のファイルを読み取ることができます。

key

脆弱性の詳細 (CVE-2025-10952)

  • コンポーネント: ml_logger/server.py — stream_handler(ファイルハンドラ)
  • 弱点: CWE-200(認可されていないアクターへの機密情報の露出)、CWE-284(不適切なアクセス制御)
  • CVSS 3.1: 5.3(中)— AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • 影響を受けるバージョン: geyang/ml-logger、コミット acf255bade5be6ad88d90735c8367b28cbe3a743 までの全バージョン(ローリングリリースプロジェクト。開示時点で修正版は未公開)
  • 必要なアクセス権限: なし(認証不要)

stream_handler は key フィールドを含むJSONボディを受け取り、パスのサニタイズなしで直接ファイル読み取り呼び出しに渡します。兄弟エンドポイントである glob_handler は部分的なパス制限(絶対パスとトラバーサルのブロック)を実装していますが、stream_handler はその検証を共有していません — key 内の二重の先頭スラッシュ(例: //root/.ssh/id_rsa)は、意図されたベースディレクトリから突破するのに十分です。

前提条件

  • Python 3.8+
  • 脆弱性のある ml-logger API インスタンスへのネットワークアクセス
  • いかなる種類の認証情報も不要

セットアップとインストール

root@kitploit:~
git clone https://github.com/Khashayarnzk/CVE-2025-10952-ml-logger-AFR.git
cd CVE-2025-10952-ml-logger-AFR
pip install -r requirements.txt

使用方法

ファイルの列挙:

root@kitploit:~
python3 CVE-2025-10952.py --target TARGET --port 8081 --glob "/etc/*"

任意のファイルの読み取り:

root@kitploit:~
python3 CVE-2025-10952.py --target TARGET --port 8081 --read "//root/.ssh/id_rsa"

読み取りとディスクへの保存:

root@kitploit:~
python3 CVE-2025-10952.py --target TARGET --port 8081 --read "//root/.ssh/id_rsa" --out id_rsa_root
chmod 600 id_rsa_root
ssh -i id_rsa_root -o StrictHostKeyChecking=no root@TARGET

--port はデフォルトで 8081 に設定されており、これは標準的なデプロイメントにおける ml-logger のファイルブローカーAPIのデフォルトポートです。ダッシュボードのフロントエンドは通常別のポートで提供され、脆弱性のあるパスの一部ではありません。

エクスプロイトのワークフロー

  1. ターゲットの /glob エンドポイントが Allow: POST 付きで 405 Method Not Allowed を返すことを確認します — これにより、静的ダッシュボードのフロントエンドとAPIポートを識別できます。
  2. --glob を使用して到達可能なパスを列挙し、興味深いファイル(SSHキー、設定ファイル、認証情報ストア)を特定します。
  3. --read を使用してターゲットファイルを取得します。絶対パスには二重の先頭スラッシュを使用します。
  4. ファイルが秘密鍵の場合は、それを直接認証に使用します(上記の使用方法を参照)。

検出と緩和策

  • ネットワーク: ml-logger サービスポートに向けられた、..、二重の先頭スラッシュ(//)、または絶対パスプレフィックス(/etc、/root、/proc)を含む key/path 形式のJSONフィールドに対してアラートを発報します。
  • ホスト: ~/.ssh/、/etc/shadow、/etc/passwd に対するファイル整合性またはアクセス監視により、ml-logger プロセスIDから発信される読み取りをフラグ付けする必要があります。
  • 露出: 認証用リバースプロキシを前面に配置せずに、ml-logger を信頼できないネットワークに公開しないでください。
  • 是正: stream_handler でパスの包含を強制し(os.path.realpath() の解決結果を許可リスト化されたベースディレクトリに対してチェック)、専用の非特権OSアカウントでサービスを実行します。

参考情報

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-10952
  • GitHub Advisory: https://github.com/advisories/GHSA-9x36-c74v-fgr6
  • 元のレポート: https://github.com/geyang/ml-logger/issues/74
  • プロジェクト: https://github.com/geyang/ml-logger

⚠️ 免責事項

このリポジトリには、ml-logger の認証不要の情報開示脆弱性である CVE-2025-10952 の概念実証エクスプロイトが含まれています。このコードは、所有している環境、またはテストの明示的な許可を得た環境でのみ使用してください。著者は、このソフトウェアの誤用またはそれによって引き起こされた損害について責任を負いません。

ライセンス

LICENSE を参照してください。

ツールをダウンロード