
CVEの再現: cve-2026-0770-langflow_rce_reproduction
CVSS 9.8 (重大) | ZDI-CAN-27325 | CWE-829: 信頼できない管理領域からの機能の包含
CVE-2026-0770 は、LLM を活用したアプリケーションを構築するためのローコードアプリケーションフレームワーク Langflow における、認証を必要としない重大なリモートコード実行の脆弱性です。この欠陥は /api/v1/validate エンドポイントに存在し、exec_globals パラメータが安全でない形で Python の exec() 関数に渡されるため、認証されていない攻撃者が Langflow プロセスの権限(通常は root)で任意のコードを実行できるようになります。
Zero Day Initiative (ZDI-CAN-27325) を通じて発見されました。
Langflow の validate エンドポイント /api/v1/validate は、exec_globals フィールドを含む JSON ペイロードを受け入れます。この辞書は、カスタムコンポーネントの検証時にグローバル変数を事前設定するために内部で使用されることを意図しています。しかし、エンドポイントは exec_globals の内容をサニタイズも制限もせず、値は直接 Python の組み込み exec() 関数に渡されます。
exec(user_code, exec_globals)
攻撃者は、組み込み関数をオーバーライドしたり悪意のある呼び出し可能オブジェクトを注入するように細工された exec_globals 辞書を提供することで、任意の Python コードを注入できます。Langflow がこれらのグローバル変数を使用してユーザーコードを内部的に評価すると、注入されたコードが実行されます。
この脆弱性は、アプリケーションが適切な検証なしに信頼できないソース(ネットワークリクエスト)からの機能(exec_globals 経由)を含んでいるため、CWE-829 に分類され、任意のコード実行につながります。
validate エンドポイントで exec_globals の適切なサニタイズを実装したパッチより前のすべての Langflow バージョンが影響を受けます。具体的な影響を受けるバージョンは次のとおりです。
/api/v1/validate が検証なしで exec_globals を受け入れるバージョンexec_globals ペイロードを含む細工された POST リクエストを /api/v1/validate に送信する同梱の exploit.py スクリプトを使用します。
python exploit.py --target 192.168.1.100 --port 7860 --command "id > /tmp/pwned"
exec_globals をサニタイズするパッチが適用されたバージョンに Langflow をアップグレードする。免責事項: この情報は教育目的および許可されたセキュリティテストのためだけに提供されています。あなたが所有していない、または明示的なテスト許可がないシステムに対する不正使用は違法です。