CVE-2025-61913CVE-2025-61913是Flowise(一个开源的拖拽式大语言模型流程构建工具)中的一个高危安全漏洞。该漏洞存在于Flowise的WriteFileTool和ReadFileTool组件中,这两个工具用于在LLM流程中读取和写入文件。然而,在3.0.8版本之前,这两个工具未对文件路径访问进行任何限制,允许经过身份验证的攻击者利用此漏洞读取和写入文件系统中的任意文件。
该漏洞的CVSS评分为9.9,属于严重级别。攻击向量为网络(AV:N),攻击复杂度低(AC:L),仅需要低权限认证(PR:L),无需用户交互(UI:N)。漏洞对机密性、完整性和可用性均产生高影响(C:H/I:H/A:H),且影响范围已发生改变(S:C),意味着该漏洞可能影响到超出其自身安全范围的组件。
攻击者利用此漏洞可以读取服务器上的任意敏感文件(如配置文件、密钥文件、环境变量等),也可以向任意路径写入文件。通过写入恶意文件(如Webshell、cron任务、启动脚本等),攻击者可以进一步实现远程命令执行(RCE),完全控制目标服务器。由于Flowise通常用于构建AI应用流程,部署环境中可能包含敏感的API密钥、数据库凭证等,一旦被攻击者获取,后果将非常严重。该漏洞已于Flowise 3.0.8版本中修复,建议所有用户尽快升级。
Flowise中的WriteFileTool和ReadFileTool是提供给LLM流程使用的工具类,用于在工作流中读取和写入文件内容。在3.0.8之前的版本中,这两个工具在处理文件路径时未实施任何路径验证或限制措施。
具体技术原理如下:
1. **路径遍历漏洞**:WriteFileTool和ReadFileTool接收用户提供的文件路径作为输入,但未对路径进行规范化或验证。攻击者可以使用绝对路径(如/etc/passwd、/root/.ssh/authorized_keys)或包含路径遍历序列的相对路径(如../../../../etc/shadow)来访问任意文件系统位置。
2. **任意文件读取**:通过ReadFileTool,攻击者可以读取服务器上的任何文件,包括但不限于:
- 应用程序配置文件(可能包含数据库凭证、API密钥)
- 环境变量文件(.env)
- SSH私钥文件
- 系统敏感文件(/etc/passwd、/etc/shadow等)
3. **任意文件写入**:通过WriteFileTool,攻击者可以向任意路径写入文件:
- 写入Webshell到Web目录
- 修改SSH authorized_keys实现持久化访问
- 写入cron任务实现定时命令执行
- 覆盖系统配置文件
4. **权限要求**:攻击者需要拥有Flowise的有效账户(低权限即可),这意味着任何拥有平台访问权限的用户都可能利用此漏洞。
5. **远程代码执行**:通过组合文件读写能力,攻击者可以实现RCE。例如,向计划任务目录写入恶意脚本,或覆盖应用程序自身的代码文件。