GHSA-p5w8-m249-4r4v: Npm/flowise vulnerability
summary: In Flowise, DELETE /api/v1/chatflows/:id authorizes requests with checkAnyPermission('chatflows:delete,agentflows:delete'). Possession of either permission is sufficient to reach the delete path. The delete logic does not validate the target resource type, allowing a caller with only agentflows:delete to delete a CHATFLOW, and a caller with only chatflows:delete to delete an AGENTFLOW.
details: The delete route accepts either chatflows:delete or agentflows:delete. The subsequent logic only resolves the target record by id and workspaceId, then deletes by id without checking whether the target resource type matches the granted permission domain.
As a result, there is no binding between permission scope and flow type:
- agentflows:delete can be used to delete CHATFLOW - chatflows:delete can be used to delete AGENTFLOW
This breaks the intended RBAC separation between Chatflows and Agentflows.
impact: Users authorized to manage only one flow type can delete the other flow type within the same workspace, resulting in unauthorized deletion and configuration loss.
reproduction steps:
1. Log in as a user who can create API keys. 2. Create a normal CHATFLOW and record its id. 3. Create an API key with only agentflows:delete. 4. Use that API key to send:
bash curl -i -X DELETE \ -H 'Authorization: Bearer <agentflowsdeleteonlykey>' \ http://localhost:8080/api/v1/chatflows/<chatflowid>
5. Observe a 200 OK response, for example:
json {"raw":[],"affected":1}
6. Read the same id again and observe 404 Not Found.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/flowiseto a version that resolves this vulnerability.Fixed in 3.1.3
Event History
Frequently Asked Questions
What is the severity of GHSA-p5w8-m249-4r4v?
The severity of GHSA-p5w8-m249-4r4v is rated as 40.
How do I fix GHSA-p5w8-m249-4r4v?
To fix GHSA-p5w8-m249-4r4v, ensure that the delete logic validates the target resource type before allowing deletion.
What permissions are required to exploit GHSA-p5w8-m249-4r4v?
To exploit GHSA-p5w8-m249-4r4v, possessing either 'chatflows:delete' or 'agentflows:delete' permission is sufficient.
What could be the impact of GHSA-p5w8-m249-4r4v?
The impact of GHSA-p5w8-m249-4r4v is that an unauthorized user could delete chatflows or agentflows due to insufficient validation.
Which software is affected by GHSA-p5w8-m249-4r4v?
The vulnerability GHSA-p5w8-m249-4r4v affects the Flowise software.