Flowise: RBAC Bypass Leading to Unauthorized Workspace Variables Disclosure
Finding — Unauthorized Workspace Variables disclosure via $vars injection (bypasses variables:view)
What’s wrong (code locations)
- Variables for the active workspace are fetched without checking “variables:view” at this call site: flowise-src/ packages/components/src/utils.ts:932
- Runtime variables are resolved from server environment variables: flowise-src/packages/components/src/utils.ts:976
- $vars is always injected into the code execution sandbox: flowise-src/packages/components/src/utils.ts:1782
- The official Variables API is permission-protected (contrast): flowise-src/packages/server/src/routes/variables/ index.ts:11
Why it is a privilege boundary bypass
A user/API key might be denied variables:view (and the /api/v1/variables route enforces it), but they can still:
- call /api/v1/node-custom-function (Finding 1)
- and have $vars pre-populated with all variables for the workspace, including runtime values from process.env
What data is exposed
Inside the custom JS context, $vars contains a flat map of:
- Variable.name -> Variable.value for static variables, and
- Variable.name -> process.env[Variable.name] for runtime variables (type === 'runtime')
This can expose secrets such as database passwords, JWT secrets, SMTP passwords, cloud keys, etc., depending on what the workspace Variables are configured to map.
Recommended fix (minimum)
- Do not inject $vars unless the caller is authorized:
- enforce variables:view before injecting $vars, or
- inject only an explicit allowlist of variables needed for the function
- Consider disabling or heavily restricting type=runtime variables in self-hosted environments (or restrict which env keys may be mapped).
Czego dotyczy
Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.
| Platforma | Paczka | Podatne wersje | Poprawka w wersji |
|---|---|---|---|
| Paczka npm | flowise | < 3.1.3 | 3.1.3 |
Odnośniki
- Wektor CVSS
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N- Słabość (CWE)
CWE-863- Platforma
- npm
- Paczka
flowise- Ujawniono
- 04.08.2026
- Aktualizacja
- 11.10.2026 10:22
Źródła i licencje
OSV / GitHub Advisory Database - GHSA-8r8h-6vcc-xhrv - 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ć.
- 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
- 2024: 11
- 2025: 22
- 2026: 81
-
Flowise: RBAC Bypass Leading to Unauthorized Workspace Variables Disclosure ten wpis
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.