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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-33067 — Nucleiテンプレート - CVE-2026-33017(Langflow ≤ 1.8.2 における認証不要のリモートコード実行脆弱性)検出用。HTTPレスポンス分析を通じて脆弱なビルドとパッチ適用済みビルドを区別する非破壊的な事前チェックを実行します。 | Kitploit
ツール/GitHubGitHub/lopseg/cve-2026-33067
偵察脆弱性スキャナーエクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミング
GitHublopseg/cve-2026-33067

cve-2026-33067

Nucleiテンプレート - CVE-2026-33017(Langflow ≤ 1.8.2 における認証不要のリモートコード実行脆弱性)検出用。HTTPレスポンス分析を通じて脆弱なビルドとパッチ適用済みビルドを区別する非破壊的な事前チェックを実行します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-33017 — Langflow 未認証RCE Nucleiテンプレート

Severity CVSS CWE

Nucleiテンプレートは、CVE-2026-33017 — Langflow ≤ 1.8.2 における、公開フロービルドエンドポイントから到達可能な未認証のリモートコード実行脆弱性を検出します。

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

脆弱なハンドラは、攻撃者が制御する data フローグラフを受け入れ、グラフビルド中に data.nodes[].data.node.template.code.value をサンドボックスなしでそのままPythonの exec() に渡します。修正(≥ 1.9.0)では、ハンドラシグネチャから data パラメータを削除しているため、パッチ適用済みのビルドはFastAPIのバリデーション層で同じリクエストをHTTP 422で拒否します。


テンプレートの判定方法

このテンプレートは非破壊的です。ゼロUUIDのフローIDに対して無害なペイロードを送信するため、脆弱なホスト上でも exec() に到達することはありません。HTTPレスポンスのシグネチャのみで脆弱なハンドラとパッチ適用済みハンドラを区別します。

段階リクエスト説明
1GET /api/v1/versionターゲットがLangflowであることを確認し、ビルドバージョンを抽出します。

段階2のルーティング:

実際のRCE確認には、(a) ターゲット上の実際のPUBLICフローUUIDと、(b) 帯域外コールバック(DNS/HTTP)が必要です。その手順は意図的にここには含まれていません。このテンプレートは、アクティブなエクスプロイトを実行する意味があるかどうかを判断する安全な事前チェックです。


使用方法

単一ホスト:

root@kitploit:~
nuclei -t CVE-2026-33017.yaml -u https://target.example.com

リストからの一括スキャン:

root@kitploit:~
nuclei -t CVE-2026-33017.yaml -l targets.txt -rl 20 -c 10

デバッグ出力を使用(生のリクエスト/レスポンスを表示):

root@kitploit:~
nuclei -t CVE-2026-33017.yaml -u https://target.example.com -debug-req -debug-resp

テンプレートを実行前にローカルで検証:

root@kitploit:~
nuclei -validate -t CVE-2026-33017.yaml

出力例

脆弱なターゲット:

root@kitploit:~
[CVE-2026-33017] [http] [critical] https://target.example.com [vulnerable-flow-not-found] ["1.8.2","base"]

パッチ適用済みターゲット — 検出結果は出力されません(422レスポンスはどのルールにも一致しません)。


候補の見つけ方

Langflowホストの一般的な検出クエリ(テストを許可されたアセットに対してのみ使用):

  • Shodan: http.title:"Langflow"
  • FOFA: app="Langflow"
  • Google: intitle:"Langflow" inurl:"/flows"

脆弱性の詳細

  • CVE: CVE-2026-33017
  • CWE: CWE-94(コード生成の不適切な制御)
  • CVSS 3.1: 9.3 — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • 影響を受けるバージョン: Langflow ≤ 1.8.2
  • 修正バージョン: Langflow ≥ 1.9.0
  • 攻撃ベクトル: ネットワーク、未認証、ユーザー操作不要
  • 影響: Langflowプロセスユーザーとしてのリモートコード実行

根本原因(概要)

脆弱なビルドでは、公開ハンドラはおおよそ次のように宣言されています:

root@kitploit:~
@router.post("/build_public_tmp/{flow_id}/flow")
async def build_public_flow(flow_id: UUID, data: FlowDataRequest | None = None, ...):
    ...
    await verify_public_flow_and_get_user(flow_id, ...)
    ...
    # data.nodes[].data.node.template.code.value reaches exec() in the
    # Component build path

data は攻撃者が制御します。パッチ適用済みハンドラはパラメータを完全に削除し、data=None を強制するため、パッチ適用済みビルドでは data ボディフィールドを含むリクエストが422で拒否されます。


対策

  1. Langflowを**≥ 1.9.0**にアップグレードしてください。
  2. すぐにアップグレードできない場合は、リバースプロキシで /api/v1/build_public_tmp/ をブロックしてください。
  3. LANGFLOW_AUTO_LOGIN=False を設定し、スーパーユーザー資格情報を構成し、LANGFLOW_SECRET_KEY をローテーションしてください。
  4. 既存のフローを監査してください — access_type=PUBLIC のフローは攻撃者がURL内で標的とするものです。

参考文献

  • GitHub Advisory: https://github.com/advisories/GHSA-vwmf-pq79-vjvx
  • SonicWall 解説記事: https://www.sonicwall.com/pt-br/blog/langflow-ai-code-injection-to-rce-flaw
  • パッチ適用済みハンドラのソース: https://github.com/langflow-ai/langflow/blob/main/src/backend/base/langflow/api/v1/chat.py

法的注意事項と開示

このテンプレートは防御的なセキュリティおよび許可されたテストのみを目的として公開されています。自分が所有していない、または明示的な書面によるテスト許可を得ていないシステムに対して実行することは、ほとんどの法域で違法であり、プラットフォームの利用規約に違反します。

このテンプレートを使用することで、以下に同意したものとみなされます:

  • 自分が所有する、またはテストを明示的に許可されたアセットのみをスキャンすること(バグバウンティの範囲、署名されたペネトレーションテスト契約、内部アセットインベントリ)。
  • 作者は誤用に対する責任を負いません。
  • テンプレートは現状のまま提供され、保証はありません。

作成者

lopseg — https://github.com/lopseg

プルリクエストやIssueを歓迎します。

ライセンス

MIT

ツールをダウンロード
2
POST /api/v1/build_public_tmp/00000000-0000-0000-0000-000000000000/flow(dataフィールドと無害なtemplate.code.valueを含むボディ)
下記のルーティング判定に使用します。
ステータスボディの内容判定
404flow / public脆弱 — ハンドラが data を受け入れ、UUIDが偽のためルックアップに失敗しました。
200job_id / build / task脆弱 — ハンドラが data を受け入れ、ビルドパスに入りました。
5xxexec / Component / traceback脆弱 — ハンドラが失敗前に exec コードパスに到達しました。
422Field required / extra / dataパッチ済み — ハンドラシグネチャが data を受け付けなくなりました。