Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid Flowise account credentials
-
DeliveryAuthenticate and capture session JWT and cookie
-
ExploitIssue GET /api/v1/upsert-history with session headers
-
ExecutionReceive unscoped >100MB server-wide history dump
-
PersistParse response to extract Qdrant URLs and collection names
-
ImpactTarget exposed vector store backends for data exfiltration or poisoning
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated session on the target Flowise instance, as evidenced by the JWT token and session cookie (connect.sid) present in the POC curl command from the advisory. The vulnerable endpoint GET /api/v1/upsert-history must be network-accessible to the attacker. The vulnerability is present in the default configuration of Flowise <= 3.1.2 with any multi-user setup, since the endpoint performs no workspace scoping regardless of deployment configuration. Exploitation is limited by: (1) a valid Flowise account is required - unauthenticated access is not confirmed from available data; (2) single-tenant self-hosted deployments expose only the operator's own tenant data, eliminating the cross-tenant risk; (3) Cloudflare bot-mitigation (cf_clearance cookie visible in the POC) may add friction for automated scanning but does not prevent exploitation by a human attacker with valid credentials. |
| Impact | No CVSS score was provided by the vendor or NVD for this CVE at time of analysis, so all metric assessments are independently derived. The vulnerability is not in CISA KEV, and EPSS data is unavailable. However, a functional proof-of-concept is publicly documented in the GHSA advisory, lowering the exploitation bar to any authenticated user with basic HTTP knowledge. Real-world risk is highest in multi-tenant Flowise deployments (cloud-hosted or shared self-hosted instances) where cross-tenant data leakage is the primary concern: an attacker with any valid account can exfiltrate vector store credentials belonging to all other tenants, enabling targeted attacks on Qdrant or other vector backend infrastructure. For single-tenant self-hosted deployments, the cross-tenant risk collapses - only the operator's own data is exposed - substantially reducing impact. The secondary availability risk (repeated >100MB response downloads amplifying bandwidth and memory load) is real but secondary. The tags 'Ubuntu, Microsoft, Mozilla' in the input appear to be metadata artifacts from the browser user-agent strings in the POC curl headers rather than meaningful affected-product signals and should be disregarded. |
| Exploit ScenarioDerived | An attacker with a valid low-privilege account on a shared Flowise deployment issues a single authenticated GET request to /api/v1/upsert-history using their session cookie and JWT token, receiving a response exceeding 100MB containing vector store credentials, Qdrant server URLs, and collection names belonging to all other tenants on the server. The attacker extracts the Qdrant endpoint URLs and API-relevant collection names from the JSON response, then directly queries or manipulates other tenants' vector store data - enabling exfiltration of embedded document content or poisoning of AI pipeline knowledge bases. A working proof-of-concept curl command is publicly documented in GHSA-fr6g-7cq8-fg82. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 04, 2026
Broken access control in Flowise's GET /api/v1/upsert-history API endpoint exposes the entire server-wide upsert history - exceeding 100MB per response - to any authenticated user, leaking sensitive infrastructure credentials including Qdrant server URLs, collection names, and vector pipeline configuration across all tenants and workspaces. The vulnerability is confirmed in flowise <= 3.1.2 and publicly documented in GHSA-fr6g-7cq8-fg82 with a working curl-based proof-of-concept, meaning any account holder on a multi-tenant deployment can harvest cross-tenant vector store configuration for reconnaissance or targeted follow-on attacks against exposed backends. Vendor-released patch flowise@3.1.3 is confirmed available and addresses missing workspace-scoping enforcement across multiple API controllers.
RemediationAI
The vendor-released patch is flowise@3.1.3, confirmed by the GitHub release at https://github.com/FlowiseAI/Flowise/releases/tag/flowise@3.1.3. Operators should upgrade immediately using npm install flowise@3.1.3 or equivalent package manager command. The fix, implemented in PR #6170 (commit d81483b70c997ddf981acc9c49fbd9a02fa345cd), adds workspaceId enforcement across the upsert-history and multiple other controllers to enforce tenant isolation. As a temporary compensating control prior to patching, operators can configure a reverse proxy or WAF to deny requests matching the path /api/v1/upsert-history; this will fully disable the upsert history feature for all users and may break in-application document store workflows, so it should be treated as a short-term stop-gap only. For multi-tenant deployments, restricting the Flowise instance to trusted internal networks reduces but does not eliminate risk, since any authenticated internal user can still exploit the endpoint.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Flowise (npm package flowise, CPE pkg:npm/flowise) is an open-source LLM orchestration platform built on Node.js and TypeScript that enables users to construct AI workflows integrating vector stores, document stores, and LLM APIs. The GET /api/v1/upsert-history endpoint is intended to return a user's own document upsert history, but the controller implementation failed to extract and apply the authenticated user's workspaceId (available via req.user?.activeWorkspaceId) before querying the database, causing the service layer to return the global, unscoped result set. This maps to CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) - specifically a missing authorization and tenant-isolation check. The PR #6170 patch diff confirms the root cause: the fix adds workspaceId validation and passes it to workspace-aware service methods (e.g., getChatflowByIdForWorkspace) across the upsert-history, chat-messages, leads, documentstore, and openai-assistants-vector-store controllers, indicating a systemic pattern of missing workspace enforcement across the Flowise API surface rather than an isolated endpoint bug.
Know when Mozilla gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:L/SC:H/SI:N/SA:N
Network API requiring a valid session (PR:L); full cross-tenant confidentiality breach (C:H); minor availability impact from large response resource consumption (A:L).
Primary rating from Vendor (https://github.com/FlowiseAI/Flowise).
CVSS VectorVendor: https://github.com/FlowiseAI/Flowise
DescriptionCVE.org
Summary
The GET /api/v1/upsert-history endpoint returns the entire server-wide upsert history (response size >100MB) instead of being scoped to the requesting user/tenant/workspace. The response includes sensitive configuration data (e.g., Vector Store settings such as Qdrant Server URL and collection name), resulting in a High severity information disclosure that may enable further targeted attacks.
Details
- Affected endpoint:
GET /api/v1/upsert-history - Observed behavior: The API returns global upsert history for the whole server, indicating missing/insufficient:
- Authorization checks (RBAC/user-based access control)
- Data scoping (workspace/project/tenant isolation)
- Pagination/limits (excessive data exposure and very large responses)
- Sensitive data exposure: The returned history contains integration parameters and infrastructure details. Example excerpt from the response:
{
"label": "Qdrant",
"name": "qdrant",
"category": "Vector Stores",
"id": "qdrant_0",
"paramValues": [
{
"label": "Qdrant Server URL",
"name": "qdrantServerUrl",
"type": "string",
"value": "https://7f60f255-f7fd-4a1c-a734-fbcf904f9f85.europe-west3-0.gcp.cloud.qdrant.io"
},
{
"label": "Qdrant Collection Name",
"name": "qdrantCollection",
"type": "string",
"value": "fair-herring-azure"
},
{
"label": "Vector Dimension",
"name": "qdrantVectorDimension",
"type": "number",
"value": 1536
},
{
"label": "Content Key",
"name": "contentPayloadKey",
"type": "string",
"value": "content"
},
{
"label": "Metadata Key",
"name": "metadataPayloadKey",
"type": "string",
"value": "metadata"
},
{
"label": "Similarity",
"name": "qdrantSimilarity",
"type": "options",
"value": "Cosine"
}
]
}
### POC
1. Using `curl` and call the enpoint `GET /api/v1/upsert-history`, sever returns the **entire server-wide upsert history**curl 'https://cloud.flowiseai.com/api/v1/upsert-history' -X GET -H 'Host: cloud.flowiseai.com' -H 'Accept: application/json, text/plain, */*' -H 'Accept-Language: en-US,en;q=0.9' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:147.0) Gecko/20100101 Firefox/147.0' -H 'X-Request-From: internal' -H 'Referer: https://cloud.flowiseai.com/document-stores/vector/27d7e649-72c9-4333-836f-0a32b7ecda57/719bc75c-5810-4d22-aa03-35c7831b8819' -H 'If-None-Match: W/"156-Xbc+zqRKlJRZDUydYMybuU4SQnY"' -H 'Connection: keep-alive' -H 'Cookie: _ga_DG9QMLV4DR=GS2.1.s1773632276$o1$g0$t1773632915$j60$l0$h0; _ga=GA1.1.938844242.1773632276; cf_clearance=Ug4PTMCbO8G.9n7ibaRBT.Y74flswLTgbR6V4qQbKUE-1773715307-1.2.1.1-2XGkql2bE8imFOsQJuw0x8yM9XW7QWbEe8ALEZ39Bm03kZu.vJLusY5_cRurAooKcK0XuqTjWgibQXYwWF91LbQZIXFefNzXuz6f8O7VzY5VM_h9p0_xICarIdDdB0hWfriItN1qbu00tqEmDgE_v2biNpNETXF3nC0wByJmhNWOcSh95lBd_Q5vALJQ0hc7pzhbPh.OuLbLtcCOlEv1YbwZWMSynj3hglpCeVkWqkM; connect.sid=s%3Axrkhl0YSNjvydmo24ASe3ezLStuedRCv.JABLEZmfWP74D9zGvFyDEELHFXqvDxHRnN3mJBhsKX8; token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjJlNGUwYTI4LTNkMWEtNDc0Ny05NmYzLWI1YzE1YTA1NDg4YyIsInVzZXJuYW1lIjoiVHJ1b25nIE5ndXllbiIsIm1ldGEiOiJhYjFiNzVjZTNmZmMyMzAzMTMwMmYwOGQ2MzU2YjQ3NjoxMTUzNzk3NDU1YTRhMmVhMDc3YWM0ODExNmRjMjhiOTNmZDlmMzg0OTAxZjhlNDliZTk2NjczMGM3N2YyZTc0ZjVkODNkYTJjMjNlOWZjNWM5ZDdmYzQ1ZDY2MmM0NWQwZWQ3MTMzYmZiZTA1MTAxZGRjNjY4OGYxZTJiNDZjNWU2YjU5OTdjMmE3OWVjNjc2MWU5NDZhYTkyNjg3MDY4IiwiaWF0IjoxNzczNzEzNTk0LCJuYmYiOjE3NzM3MTM1OTQsImV4cCI6MTc3MzczNTE5NCwiYXVkIjoiQVVESUVOQ0UiLCJpc3MiOiJJU1NVRVIifQ.UDFurQPA6-bKQ7mZg0Qetu6yAv1UK3vaz27ZUhUoamc; refreshToken=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjJlNGUwYTI4LTNkMWEtNDc0Ny05NmYzLWI1YzE1YTA1NDg4YyIsInVzZXJuYW1lIjoiVHJ1b25nIE5ndXllbiIsIm1ldGEiOiJhNmU2MjJjNmFiMWU1MWEwYzcwNmViOWVkODA2MDFmZjpjYjIyN2ZhMjA4ZDIwYjk0NjAxMjFlNDhkZTZjZDg4Yzk0NmMwNzBjZjhhMGYwNDBlNzEzOTkzOTkyMzNmZWQ3ZWViNjk0ZmE3NGY4MGJkOTA1ZjZkM2I2Y2FlYmI5YmRjMWQ3YTgxZjMxNzBkYjI5MDJlMGYzNmZiN2I0ZDc2YWRkNjkzZmI5YWE5OGNjYjc1ZWI0OGVmMjBjMWNjNmU4IiwiaWF0IjoxNzczNjMzMDA0LCJuYmYiOjE3NzM2MzMwMDQsImV4cCI6MTc3NjIyNTAwNCwiYXVkIjoiQVVESUVOQ0UiLCJpc3MiOiJJU1NVRVIifQ.0HlslRzoFo0Tlt4Jbn9gnEwsQej4ilMd8qjhLBZQO5Q; __cf_bm=.BG97WtFqwwk0DMVJB1BlcHRdhQv70bLu4f_QpH5qo4-1773721030-1.0.1.1-IwhUPW6O9uNcNsOZl7LLgpnm8_ll18rzoOFu085wZQQgTvVvaPwVFJObxSJ1.NRyS5MWsRbJi1BhUNMTJjSR2s9EyuSBzn2s_eXblq8rTh8' --compressed -sS -o resp.json
2. Verify the response size (expected: very large, e.g., >100MB)ls -lh resp.json
### Impact
- **Vulnerability type:** Information Disclosure / Broken Access Control (missing authorization and/or missing tenant/workspace scoping)
- **Who is impacted:** All users/tenants/workspaces whose upsert history and configuration data are included in the server-wide history
- **Security consequences:**
- Exposure of infrastructure/integration details (e.g., Qdrant endpoint URLs, collection names, vector dimensions), enabling reconnaissance and targeted follow-up attacks
- Leakage of internal schema/pipeline details (e.g., content/metadata keys)
- Potential resource abuse: repeated downloads of a >100MB response can increase bandwidth/CPU/memory load (amplifying DoS risk)Executive ViewAI
Flowise versions 3.1.2 and earlier contain a broken access control vulnerability in the upsert-history endpoint that exposes infrastructure credentials and configuration to authenticated users; publicly available exploit code exists for this vulnerability. Account holders in multi-tenant deployments can harvest cross-tenant Qdrant URLs, collection credentials, and vector pipeline settings for infrastructure reconnaissance. Immediate upgrade to vendor-released patch flowise@3.1.3 is required to prevent credential compromise and lateral attack vectors.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
The PDF reader in Mozilla Firefox before 39.0.3, Firefox ESR 38.x before 38.1.1, and Firefox OS before 2.2 allows remote
Mozilla Firefox before 22.0, Firefox ESR 17.x before 17.0.7, Thunderbird before 17.0.7, and Thunderbird ESR 17.x before
Mozilla Firefox before 18.0, Firefox ESR 10.x before 10.0.12 and 17.x before 17.0.2, Thunderbird before 17.0.2, Thunderb
Use-after-free vulnerability in the serializeToStream implementation in the XMLSerializer component in Mozilla Firefox b
The Chrome Object Wrapper (COW) implementation in Mozilla Firefox before 16.0, Firefox ESR 10.x before 10.0.8, Thunderbi
The crypto.generateCRMFRequest function in Mozilla Firefox before 23.0, Firefox ESR 17.x before 17.0.8, Thunderbird befo
An issue was discovered in the Cisco WebEx Extension before 1.0.7 on Google Chrome, the ActiveTouch General Plugin Conta
The XrayWrapper implementation in Mozilla Firefox before 35.0 and SeaMonkey before 2.32 does not properly interact with
The Chrome Object Wrapper (COW) implementation in Mozilla Firefox before 18.0, Firefox ESR 17.x before 17.0.2, Thunderbi
The Web IDL implementation in Mozilla Firefox before 28.0, Firefox ESR 24.x before 24.4, Thunderbird before 24.4, and Se
Mozilla Firefox before 28.0, Firefox ESR 24.x before 24.4, Thunderbird before 24.4, and SeaMonkey before 2.25 allow remo
The Firefox sandbox in Adobe Flash Player before 10.3.183.67 and 11.x before 11.6.602.171 on Windows and Mac OS X, and b
EUVD-2026-52853
GHSA-fr6g-7cq8-fg82
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB