Modern Frontend CVEs

対象CVE: CVE-2026-46442

[緊急警報] FlowiseAIのクリティカル脆弱性:認証突破でサーバー上で任意コード実行の危険性

FlowiseAIにおいて、認証されたユーザーがサーバー上で任意のコードを実行できる重大な脆弱性が発見されました。サンドボックスの脱出も可能で、FlowiseAIをセルフホストしている環境ではサーバー乗っ取りに繋がる可能性があります。

はじめに:FlowiseAIユーザーは即座に確認を!

フロントエンドエンジニアの皆さん、こんにちは。今回は、AIワークフローをGUIで構築できる人気のオープンソースツール「FlowiseAI」に関する非常に危険な脆弱性(GHSA-9rvc-vf7m-pgm2 / CVE-2026-46442)について解説します。この脆弱性はCVSSスコア9.9(Critical)と評価されており、認証済みのユーザーであれば、FlowiseAIが動作しているサーバー上で任意のプログラムを実行できてしまうという深刻なものです。FlowiseAIを利用している、あるいはプロジェクトで関わっている方は、ぜひ最後まで読み、速やかな対応をお願いいたします。

脆弱性の概要:なぜサーバーが危ないのか?

FlowiseAIには、カスタムのJavaScript関数を定義し、それをサーバー側で実行できる機能があります。この機能は`/api/v1/node-custom-function`というAPIエンドポイントを通じて利用されます。通常、このようなサーバーサイドでのコード実行機能は、厳重なセキュリティ管理下で行われるべきですが、FlowiseAIの特定の構成において、以下の2つの大きな欠陥が見つかりました。

1. **アクセス権限の不備:** `/api/v1/node-custom-function`エンドポイントには、他の重要なAPIとは異なり、適切なアクセス権限チェックが設定されていませんでした。このため、有効な認証情報(ログインセッションやAPIキー)さえあれば、誰でもこのAPIを呼び出し、任意のコードを実行させることが可能でした。

2. **サンドボックスの脱出 (Sandbox Escape):** カスタムJavaScriptコードは「NodeVMサンドボックス」という隔離された環境で実行されることになっています。しかし、FlowiseAIの一般的な自己ホスト型(セルフホスト)環境では、外部のより堅牢なサンドボックスサービス(E2Bなど)が設定されていない場合、デフォルトでこのNodeVMサンドボックスに切り替わります。このNodeVMサンドボックスには脆弱性があり、特定のコードを悪用することで、サンドボックスの隔離を突破し、**サーバーのOS上で任意のシステムコマンド(例:ファイルの読み書き、設定変更など)を実行できてしまう**ことが判明しました。

具体的な影響:何が起こりうるか?

この脆弱性の主な影響対象は、`E2B_APIKEY`が設定されていないFlowiseAIのインスタンスです。これは多くの自己ホスト型(セルフホスト)環境でデフォルトの設定となっているため、広範囲にわたる影響が懸念されます。攻撃者は、有効なFlowiseAIのユーザーアカウントまたはAPIキーさえ持っていれば、この脆弱性を悪用して以下のことができます。

<ul><li>FlowiseAIが動作しているサーバー上で、OSの管理者権限でコマンドを実行。</li><li>サーバー上の環境変数、APIキー、データベース接続情報などの機密情報を窃取。</li><li>ファイルシステムへの不正アクセス(ファイルの作成、変更、削除)。</li><li>サーバーから外部へのネットワーク通信を開始し、他のシステムへの攻撃の足がかりとする。</li><li>最悪の場合、サーバーを完全に掌握し、Webサイトの改ざんやデータの破壊に繋がります。</li></ul>

フロントエンドエンジニアが知るべきこと

「FlowiseAIはバックエンドツールだから関係ない」と思われた方もいるかもしれません。しかし、AIアプリケーション開発ではフロントエンドとバックエンドの連携が不可欠であり、フロントエンドエンジニアも以下のような点で影響を受ける可能性があります。

<ul><li>**プロジェクトでの利用状況の確認:** 自身の担当プロジェクトでFlowiseAIがバックエンドとして利用されていないか確認しましょう。特にセルフホスト環境の場合、本脆弱性の影響を強く受けます。</li><li>**API連携と認証情報の管理:** フロントエンドからFlowiseAIのAPIを利用する場合、そのAPIキーや認証情報が適切に管理されているか再確認が必要です。もし漏洩した場合、それが攻撃の足がかりとなるリスクがあります。</li><li>**開発環境のセキュリティ:** 開発目的でFlowiseAIをローカルやテスト環境で動かしている場合でも、セキュリティ対策を怠らないことが重要です。万が一、悪意のあるコードが実行されれば、ローカル環境のデータが危険に晒される可能性もあります。</li></ul>

推奨される対策:今すぐ実行すべきこと

この脆弱性は非常に危険なため、FlowiseAIの管理者または開発者は、以下の対策を迅速に実施してください。

1. **アクセス権限の強化:** `/api/v1/node-custom-function`エンドポイントに対し、既存の権限管理ミドルウェアを適用し、特定の信頼できるユーザーやロールのみがアクセスできるように制限してください。カスタムJavaScriptの実行は、本当に必要なユーザーのみに許可されるべきです。

2. **安全なフォールバックの設定:** `E2B_APIKEY`が設定されていない場合、NodeVMサンドボックスにサイレントにダウングレードしてコードを実行するのではなく、**安全のためカスタムJavaScriptコードの実行自体を停止する**よう設定を変更してください。FlowiseAIのアップデートでこの動作が変更される可能性もありますが、設定ファイルや環境変数で明示的に安全な動作を強制することが推奨されます。

3. **APIキーのアクセス制限:** 汎用的なAPIキーでこの機密性の高いエンドポイントにアクセスできないように、APIキーの権限を細かく設定し、必要最小限のアクセスのみを許可するように見直してください。可能な限り、APIキーではなく、OAuthなどのより堅牢な認証メカニズムを利用しましょう。

まとめ

FlowiseAIのこの脆弱性は、認証されたユーザーによるサーバー上の任意コード実行を許す、極めて危険なものです。特に、`E2B_APIKEY`が未設定の自己ホスト型環境では、迅速な対応が不可欠です。フロントエンドエンジニアの皆さんも、自身のプロジェクトにおけるFlowiseAIの利用状況を確認し、セキュリティ対策の意識を高めていきましょう。常に最新のセキュリティ情報をチェックし、システムの安全を確保することが重要です。

← ブログ一覧に戻る