
MCP環境変数ブロックリストのバイパスにより、Flowise 3.1.1で未認証のRCEが発生する
CVE 2026-69263は、2025年8月に修正された旧RCE脆弱性のパッチバイパスです。このパッチは、任意のパッケージのインストールをブロックする拒否リストを導入しました。
npmは環境変数から設定を読み取るため、環境変数 npm_config_yes=true を設定すると、ブロックされていた動作が再び有効になります。
Flowise 3.1.1(報告時点での最新版)。3.1.3で修正済み。
以下のMCPサーバー構成は、CUSTOM_MCP_SECURITY_CHECK=true を使用してパッチをバイパスします。
{
"mcpServers": {
"bypass": {
"command": "npx",
"args": ["cowsay"],
"env": {
"npm_config_yes": "true"
}
}
}
}
cowsayは、ここでは実行を証明するためだけに使用される無害なパッケージです。実際の攻撃者は独自のペイロードに置き換えるでしょう。
実行経路:
validateCommandFlags は、args にブロックされたフラグが含まれていないため、パスします。validateEnvironmentVariablesnpm_config_yesnpx が指定されたパッケージを自動インストールして実行し、Flowiseプロセスの権限で任意の実行が可能であることを証明します。認証なしのデフォルトデプロイでは、Flowise APIに到達できる認証されていないユーザーは誰でもこれをトリガーできます。
以下の変数もブロックリストに含まれておらず、他の許可されたインタープリターを介して実行に影響を与えます。
| 変数 | コマンド | 効果 |
|---|---|---|
npm_config_prefix | npx | パッケージのインストールを攻撃者が制御するパスにリダイレクトします |
npm_config_userconfig | npx | 攻撃者が制御する .npmrc 設定を読み込みます |
NODE_PATH | node | 攻撃者が制御するパスからモジュールを読み込みます |
PYTHONPATH | python3 | 攻撃者が制御するパスからモジュールを読み込みます |
PYTHONSTARTUP | python3 | インタープリター起動時にファイルを実行します (対話セッションのみ) |
このRCE脆弱性は、FlowiseのメンテナーにGitHubリポジトリを通じて責任を持って開示されました。レポートはこちらから確認できます。