CVE-2026-90534
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
Flowise w wersjach do 3.1.3 włącznie udostępnia endpoint POST /api/v1/node-load-method/:name bez sprawdzania uprawnień na poziomie trasy, wywołując loadMethods z parametrami nodeName, loadMethod, inputs i credential kontrolowanymi przez atakującego. Poświadczenie jest rozwiązywane po surowym Credential.id przez getCredentialData() i odszyfrowywane bez weryfikacji Credential.workspaceId względem aktywnego lub współdzielonego workspace wywołującego. Uwierzytelniony użytkownik o niskich uprawnieniach (lub klucz API workspace) z jednego workspace może podać identyfikator poświadczenia należącego do innego workspace, powodując że Flowise działa jako confused deputy i wykonuje wywołania do zewnętrznych dostawców z poświadczeniem ofiary, zwracając metadane dostawcy atakującemu. Dotyczy to m.in. Google Drive listFiles, Google Sheets listSpreadsheets i AWS DynamoDB KV Storage listTables. Sam sekret poświadczenia nie jest zwracany atakującemu. Podatność naprawiono w wersji 3.1.4.
Ocena ryzyka
Atakujący z niskimi uprawnieniami może wykorzystać poświadczenia innych workspace do wykonywania operacji u zewnętrznych dostawców i uzyskiwania metadanych, co narusza izolację między workspace i może prowadzić do nieautoryzowanego dostępu do danych.
Rekomendacja
Zaktualizuj Flowise do wersji 3.1.4 lub nowszej, która weryfikuje workspaceId poświadczenia względem workspace wywołującego.
Inne podatności w Flowise
Zobacz wszystkie- CVE-2026-52098Krytyczne
Podatność w Flowise 3.1.2 pozwala zdalnemu atakującemu na wykonanie dowolnego kodu poprzez endpoint /api/v1/prediction/<flowId>. Nie podano dodatkowych szczegółów.
- CVE-2026-73602Krytyczne
Flowise przed wersją 3.1.3 zawiera podatność ucieczki z piaskownicy vm2, która pozwala uwierzytelnionym użytkownikom na wykonanie dowolnego kodu poprzez obejście walidacji locale moment.js i załadowanie złośliwych plików JavaScript z magazynu dokumentów.
- CVE-2026-73487Krytyczne
Flowise przed wersją 3.1.3 zawiera podatność obejścia walidatora kodu Python opartego na regex w węzłach CSV i Airtable Agent, która pozwala nieuwierzytelnionym atakującym na wstrzyknięcie złośliwego kodu przez prompt injection.
- CVE-2026-67622Krytyczne
Podatność w Flowise (do wersji 3.1.4) w integracji OpenAI Assistants pozwala uwierzytelnionym atakującym na dostęp do danych uwierzytelniających innych obszarów roboczych poprzez podanie dowolnego UUID poświadczeń bez weryfikacji własności obszaru roboczego.
- CVE-2026-70478Krytyczne
Flowise przed wersją 3.1.3 zawiera podatność w punkcie końcowym POST /api/v1/oauth2-credential/refresh/:credentialId, który jest na liście dozwolonych i nie wymaga uwierzytelnienia. Atakujący ze znajomością ID poświadczenia może odświeżyć token OAuth i uzyskać dostęp do połączonej usługi ofiary oraz wyczerpać limit odświeżania tokenów.
- CVE-2026-70477Krytyczne
Flowise przed wersją 3.1.3 zawiera podatność na wstrzyknięcie promptu w węźle CSV Agent, co pozwala na wykonanie złośliwego skryptu Pythona w środowisku Pyodide bez sandboxa. Atakujący może wykorzystać to do wykonania dowolnego kodu w kontekście konta usługi.
- CVE-2026-70470Krytyczne
Flowise przed wersją 3.1.3 zawiera podatność w walidatorze kodu Python, która pozwala na ominięcie zabezpieczeń za pomocą homoglifów Unicode, umożliwiając wykonanie dowolnego kodu Python w Pyodide oraz pełne wykonanie poleceń systemowych na hoście Flowise.
- CVE-2026-69264Krytyczne
Flowise przed wersją 3.1.3 zawiera podatność w CSVAgent, która pozwala atakującemu na wstrzyknięcie kodu do szablonu Pythona wykonywanego przez Pyodide, co umożliwia wykonanie dowolnych poleceń systemowych na hoście Flowise. Nieuwierzytelnione żądanie do API może wywołać zdalne wykonanie kodu.
- CVE-2026-69263Krytyczne
Flowise to interfejs typu 'przeciągnij i upuść' do budowania spersonalizowanych przepływów dużych modeli językowych. Przed wersją 3.1.3, obejście dla CVE-2025-8943 blokowało flagi -y i --yes w npx, ale plik packages/components/nodes/tools/MCP/core.ts odrzucał tylko PATH, LD_LIBRARY_PATH, DYLD_LIBRARY_PATH i NODE_OPTIONS według dokładnej nazwy zmiennej środowiskowej. Ponieważ npm czyta konfigurację ze zmiennych npm_config_*, ustawienie npm_config_yes=true odtwarzało zachowanie --yes bez użycia zablokowanej flagi, powodując automatyczną instalację i wykonanie nazwanego pakietu przez npx podczas uruchamiania niestandardowego serwera MCP. Ten problem został naprawiony w wersji 3.1.3.
- CVE-2026-69258Krytyczne
Flowise to interfejs typu 'przeciągnij i upuść' do budowania spersonalizowanych przepływów dużych modeli językowych. Przed wersją 3.1.3, nieuwierzytelniony endpoint POST /api/v1/prediction/:id akceptował obiekt overrideConfig i bezwarunkowo rozprzestrzeniał go do wewnętrznych obiektów flowConfig i flowData w plikach packages/server/src/utils/buildChatflow.ts i packages/server/src/utils/index.ts bez sprawdzania apiOverrideStatus. To pozwalało nieuwierzytelnionym atakującym na wstrzykiwanie dowolnych właściwości do kontekstu wykonania przepływu dowolnego publicznego chatflow, nadpisywanie wartości takich jak chatId, sessionId i chatHistory oraz kontrolowanie wartości rozwiązywanych przez zmienne szablonu $flow.* używane przez węzły przepływu. Ten problem został naprawiony w wersji 3.1.3.
Oryginalny opis (angielski, źródło NVD)
Flowise is a low-code platform for building LLM applications. In versions up to and including 3.1.3, the POST /api/v1/node-load-method/:name endpoint is mounted without any route-level permission check and invokes component loadMethods with an attacker-controlled nodeName, loadMethod, inputs, and credential value. The selected credential is resolved by raw Credential.id via getCredentialData() and decrypted without verifying Credential.workspaceId against the caller's active or shared workspace, unlike other credential read paths which are workspace-scoped. As a result, an authenticated low-privilege user (or workspace API key) in one workspace can supply a credential ID owned by another workspace and cause Flowise to act as a confused deputy, performing third-party provider calls with the victim workspace's credential and returning provider metadata to the attacker. Statically identified affected load methods include Google Drive listFiles, Google Sheets listSpreadsheets, and AWS DynamoDB KV Storage listTables. The raw credential secret itself is not returned to the attacker. This issue is fixed in version 3.1.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

