CVE-2025-59528
Full vulnerability record from the local CVENow database.
Description
Flowise is a drag & drop user interface to build a customized large language model flow. In version 3.0.5, Flowise is vulnerable to remote code execution. The CustomMCP node allows users to input configuration settings for connecting to an external MCP server. This node parses the user-provided mcpServerConfig string to build the MCP server configuration. However, during this process, it executes JavaScript code without any security validation. Specifically, inside the convertToValidJSONString function, user input is directly passed to the Function() constructor, which evaluates and executes the input as JavaScript code. Since this runs with full Node.js runtime privileges, it can access dangerous modules such as child_process and fs. This issue has been patched in version 3.0.6.
View original CVE JSON
{
"id": "CVE-2025-59528",
"sourceIdentifier": "[email protected]",
"published": "2025-09-22T20:15:39.530",
"lastModified": "2026-10-18T21:10:00.120",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Flowise is a drag & drop user interface to build a customized large language model flow. In version 3.0.5, Flowise is vulnerable to remote code execution. The CustomMCP node allows users to input configuration settings for connecting to an external MCP server. This node parses the user-provided mcpServerConfig string to build the MCP server configuration. However, during this process, it executes JavaScript code without any security validation. Specifically, inside the convertToValidJSONString function, user input is directly passed to the Function() constructor, which evaluates and executes the input as JavaScript code. Since this runs with full Node.js runtime privileges, it can access dangerous modules such as child_process and fs. This issue has been patched in version 3.0.6."
},
{
"lang": "es",
"value": "Flowise es una interfaz de usuario de arrastrar y soltar para construir un flujo personalizado de modelo de lenguaje grande. En la versión 3.0.5, Flowise es vulnerable a ejecución remota de código. El nodo CustomMCP permite a los usuarios introducir configuraciones para conectarse a un servidor MCP externo. Este nodo analiza la cadena mcpServerConfig proporcionada por el usuario para construir la configuración del servidor MCP. Sin embargo, durante este proceso, ejecuta código JavaScript sin ninguna validación de seguridad. Específicamente, dentro de la función convertToValidJSONString, la entrada del usuario se pasa directamente al constructor Function(), que evalúa y ejecuta la entrada como código JavaScript. Dado que esto se ejecuta con privilegios completos de tiempo de ejecución de Node.js, puede acceder a módulos peligrosos como child_process y fs. Este problema ha sido parcheado en la versión 3.0.6."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "FlowiseAI",
"product": "Flowise",
"versions": [
{
"version": "= 3.0.5",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
"baseScore": 10.0,
"baseSeverity": "CRITICAL",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 3.9,
"impactScore": 6.0
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2025-09-22T20:23:40.363660Z",
"id": "CVE-2025-59528",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "yes"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-94"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:flowiseai:flowise:3.0.5:*:*:*:*:*:*:*",
"matchCriteriaId": "D5D151AD-7484-4BE3-B42F-7D0279B5E886"
}
]
}
]
}
],
"references": [
{
"url": "https://github.com/FlowiseAI/Flowise/blob/5930f1119c655bcf8d2200ae827a1f5b9fec81d0/packages/components/nodes/tools/MCP/CustomMCP/CustomMCP.ts#L132",
"source": "[email protected]",
"tags": [
"Product"
]
},
{
"url": "https://github.com/FlowiseAI/Flowise/blob/5930f1119c655bcf8d2200ae827a1f5b9fec81d0/packages/components/nodes/tools/MCP/CustomMCP/CustomMCP.ts#L220",
"source": "[email protected]",
"tags": [
"Product"
]
},
{
"url": "https://github.com/FlowiseAI/Flowise/blob/5930f1119c655bcf8d2200ae827a1f5b9fec81d0/packages/components/nodes/tools/MCP/CustomMCP/CustomMCP.ts#L262-L270",
"source": "[email protected]",
"tags": [
"Product"
]
},
{
"url": "https://github.com/FlowiseAI/Flowise/blob/5930f1119c655bcf8d2200ae827a1f5b9fec81d0/packages/server/src/controllers/nodes/index.ts#L57-L78",
"source": "[email protected]",
"tags": [
"Product"
]
},
{
"url": "https://github.com/FlowiseAI/Flowise/blob/5930f1119c655bcf8d2200ae827a1f5b9fec81d0/packages/server/src/routes/node-load-methods/index.ts#L5",
"source": "[email protected]",
"tags": [
"Product"
]
},
{
"url": "https://github.com/FlowiseAI/Flowise/blob/5930f1119c655bcf8d2200ae827a1f5b9fec81d0/packages/server/src/services/nodes/index.ts#L91-L94",
"source": "[email protected]",
"tags": [
"Product"
]
},
{
"url": "https://github.com/FlowiseAI/Flowise/releases/tag/flowise%403.0.6",
"source": "[email protected]",
"tags": [
"Release Notes"
]
},
{
"url": "https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-3gcm-f6qx-ff7p",
"source": "[email protected]",
"tags": [
"Exploit",
"Vendor Advisory"
]
}
]
}