🔴 【深度分析】严重安全漏洞:CVE-2024-58351

CVSS 评分: 严重(9.3)🔴  状态: Deferred  发布时间: 2026-06-20


🔍 技术细节速览

字段 值
CVE ID CVE-2024-58351
CVSS 评分 9.3 🔴
严重程度 严重
CVSS 向量 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X
CWE 分类 CWE-94
发布时间 2026-06-20
状态 Deferred

好的,作为一名资深网络安全分析师,我将基于您提供的 NVD 漏洞数据,对 CVE-2024-58351 进行深度分析。


漏洞概述

CVE-2024-58351 是一个影响 Flowise(一个低代码/无代码的 LLM 应用构建平台)的严重安全漏洞。该漏洞的核心在于,Flowise 在执行 Chainflow(链式工作流)时,允许通过 overrideConfig 选项注入任意配置。由于该功能默认启用,且未对可注入的变量进行白名单限制,同时其依赖的 vm2 沙箱环境存在已知的逃逸风险,攻击者可以利用此漏洞实现远程代码执行(RCE)、拒绝服务(DoS)、服务端请求伪造(SSRF)、提示注入(Prompt Injection)以及服务器变量和数据泄露。该漏洞被归类为 CWE-94(代码生成控制不当),CVSS 4.0 评分为 9.3(严重),表明其危害性极大。

受影响组件与版本

  • 受影响组件: Flowise
  • 受影响版本: 所有早于 2.1.4 的版本
  • 安全版本: Flowise 2.1.4 及更高版本

漏洞原理分析

该漏洞的根源在于 Flowise 的架构设计缺陷,具体体现在 overrideConfig 功能上。

  1. 功能设计缺陷: Flowise 允许用户在执行 Chainflow 时,通过 overrideConfig 参数动态覆盖工作流中的配置项。这个功能旨在提供灵活性,但其设计存在根本性的安全问题:默认启用且无限制。这意味着任何能够触发 Chainflow 执行的用户(无论是通过前端 Web 集成还是后端 Prediction API)都可以向该参数传递任意内容。

  2. 沙箱逃逸风险: overrideConfig 注入的配置最终会在一个沙箱环境中执行,以隔离用户代码。Flowise 早期版本依赖 vm2 库来实现此沙箱。然而,vm2 库本身存在多个已知的、已被公开的沙箱逃逸漏洞。攻击者可以利用精心构造的 payload,突破 vm2 的隔离限制,在宿主服务器上执行任意代码。

  3. 攻击向量: 攻击者可以通过以下方式利用此漏洞:

    • 远程代码执行: 通过 overrideConfig 注入恶意 JavaScript 代码,利用 vm2 沙箱逃逸,在服务器上执行系统命令,从而完全控制服务器。
    • 拒绝服务: 注入导致无限循环、内存耗尽或崩溃的代码,使 Flowise 服务不可用。
    • 服务端请求伪造: 注入代码,使服务器向内部或外部网络发起请求,用于扫描内网、攻击其他服务或绕过防火墙。
    • 提示注入: 修改 Chainflow 中使用的提示词(Prompt),操纵 LLM 的输出,可能导致信息泄露或生成恶意内容。
    • 数据泄露: 注入代码读取服务器上的环境变量、配置文件或数据库中的敏感信息,并将其外传。

影响评估

  • 严重性: 严重 (CVSS 9.3)
  • 攻击复杂度: 低。攻击者无需特殊权限,只需能够向 Flowise 发送请求即可。
  • 影响范围: 广泛。任何部署了受影响版本 Flowise 的组织和个人都可能成为攻击目标。
  • 潜在后果:
    • 完全服务器失陷: 攻击者获得服务器的完整控制权,可以安装后门、窃取数据、发起进一步攻击。
    • 数据泄露: 包括 LLM 的 API 密钥、数据库凭证、用户数据、业务逻辑等所有服务器上的敏感信息。
    • 服务中断: 导致业务关键型 LLM 应用不可用。
    • 供应链风险: 如果 Flowise 被用于构建面向客户的应用,攻击者可以操纵这些应用的行为,对最终用户造成危害。

修复建议

  1. 立即升级: 最直接有效的修复措施是将 Flowise 升级到 2.1.4 或更高版本。新版本已修复此漏洞,可能通过限制 overrideConfig 的功能、引入白名单机制或替换了更安全的沙箱实现(如 isolated-vm)来解决此问题。

  2. 临时缓解措施(如无法立即升级):

    • 禁用 overrideConfig 功能: 如果业务场景允许,在 Flowise 的配置中禁用 overrideConfig 选项。这可以完全阻断攻击路径。
    • 网络隔离: 将 Flowise 服务部署在内部网络,并通过反向代理(如 Nginx)对外暴露,同时严格限制对 Prediction API 的访问权限,仅允许受信任的客户端调用。
    • Web 应用防火墙 (WAF) 规则: 部署 WAF 并编写规则,尝试检测和拦截包含可疑代码或试图利用 vm2 逃逸的 overrideConfig 请求。但这并非万全之策,因为攻击载荷可以高度混淆。
  3. 安全审计: 升级后,对 Flowise 服务器进行全面的安全审计,检查是否有被入侵的迹象,例如异常进程、未知文件、可疑的网络连接等。

参考资料