事件经过
Flowise 3.1.3之前的版本使用大小写敏感字符串比较针对拒绝列表验证环境变量以自定义MCP stdio节点。在Windows上,环境变量名称不区分大小写,因此可以配置自定义MCP节点的认证用户可以提供'node_options'(小写)以绕过'NODE_OPTIONS'拒绝列表条目,并注入'--require'以在Flowise服务器进程中加载任意代码。VulnCheck确认了概念验证存在(bikini/exploitarium)。在PR #6471中修复,在Flowise 3.1.3中发布。
影响分析
Flowise是广泛部署的开源LLMOps/代理流平台。任何具有自定义MCP节点访问权限的认证Flowise用户——自托管部署中的常见角色——可以在Windows实例上升级为服务器级RCE。由于Flowise编排LLM管道,被危害的服务器暴露了实例上每个流的所有API密钥、模型配置、连接的数据源和对话历史。
攻击途径
具有自定义MCP节点配置访问权限的认证用户设置环境变量'node_options'(小写),值为'--require <malicious_module>';Flowise的大小写敏感拒绝列表遗漏它;任意代码在节点生成时在Flowise服务器进程中运行
受影响系统
Flowise ≥ 0, < 3.1.3在Windows上运行
缓解措施
升级到Flowise 3.1.3或更高版本。GitHub PR:https://github.com/FlowiseAI/Flowise/pull/6471