Flowise Security Audit Report
Date: 2026-03-17
Researcher: Dimpal Jadhav (jadhavdimpy@gmail.com)
GitHub: https://github.com/Dimpyj1604
Target: FlowiseAI/Flowise (latest main branch)
Version: flowise-components@3.1.0
FINDING 1: Missing Authorization on Execution Update Endpoint
Severity: HIGH (CVSS ~7.5)
Type: CWE-862 (Missing Authorization)
File: packages/server/src/routes/executions/index.ts:11
Description: The PUT /api/v1/executions/:id endpoint lacks the checkAnyPermission() middleware that protects all other execution endpoints (GET, DELETE). Any authenticated user — regardless of their assigned permissions — can modify any execution record.
Evidence:
// Line 7 - GET has permission check
router.get('/', checkAnyPermission('executions:view'), executionController.getAllExecutions)
// Line 11 - PUT has NO permission check
router.put(['/', '/:id'], executionController.updateExecution) // <-- MISSING checkAnyPermission
// Line 14 - DELETE has permission checkadvisory_1_execution_auth_bypass
router.delete('/:id', checkAnyPermission('executions:delete'), executionController.deleteExecutions)
Impact: Privilege escalation. A low-privileged user with any valid API key can modify execution state, data, and metadata of any execution in their workspace. Could be used to manipulate workflow execution results or inject data.
Reproduction:
curl -X PUT https://TARGET/api/v1/executions/EXECUTION_ID \
-H "Authorization: Bearer LOW_PRIV_API_KEY" \
-H "Content-Type: application/json" \
-d '{"state": "FINISHED", "data": "MANIPULATED"}'
References
Flowise Security Audit Report
Date: 2026-03-17
Researcher: Dimpal Jadhav (jadhavdimpy@gmail.com)
GitHub: https://github.com/Dimpyj1604
Target: FlowiseAI/Flowise (latest main branch)
Version: flowise-components@3.1.0
FINDING 1: Missing Authorization on Execution Update Endpoint
Severity: HIGH (CVSS ~7.5)
Type: CWE-862 (Missing Authorization)
File:
packages/server/src/routes/executions/index.ts:11Description: The
PUT /api/v1/executions/:idendpoint lacks thecheckAnyPermission()middleware that protects all other execution endpoints (GET, DELETE). Any authenticated user — regardless of their assigned permissions — can modify any execution record.Evidence:
Impact: Privilege escalation. A low-privileged user with any valid API key can modify execution state, data, and metadata of any execution in their workspace. Could be used to manipulate workflow execution results or inject data.
Reproduction:
References