何が起きたか
Flowiseのカスタム関数実行サンドボックスは、許可されたlangchainおよびmammothモジュールに到達可能でALLOW_BUILTIN_DEPが有効な場合に脱出でき、認証されたユーザーがサーバー上でOSコマンドを実行できるようになります。
なぜ重要か
Flowiseは、多くの場合、非管理者ビルダーによってLLM/エージェントアプリケーションを構築およびホストするために使用されます。OSコマンド実行を可能にするサンドボックス脱出は、低権限のワークフロー作成者がエージェントアプリケーションとそれが使用する資格情報を実行するホストを侵害できることを意味します。
攻撃経路
認証されたユーザーは/api/v1/node-custom-functionを通じてJavaScriptを送信し、許可されたモジュール(langchain/mammoth)を悪用してサンドボックスを脱出します。送信されたスクリプトはmammothパッケージパスにファイルを書き込み、OSコマンド実行を可能にします。
影響を受けるシステム
Flowise 3.1.4まで、ALLOW_BUILTIN_DEP=trueでlangchainおよびmammothモジュールが許可されている場合。
緩和策
サンドボックス脱出を修正するFlowiseリリースにアップグレードしてください。マルチテナントインスタンスでALLOW_BUILTIN_DEPを有効にしないでください。許可されるモジュールを制限してください。