CVE-2026-90533: Flowise: IDOR exposes org owner's password hash
MEDIUMFlowise before 3.1.4 has a broken access control flaw in GET /api/v1/organizationuser that lets any authenticated organization member query another user's record by ID and receive the target's full profile — including their bcrypt password hash and temporary tokens. Because any low-privileged member can target the organization owner's user ID, this is a direct path to compromising the highest-privileged account in a Flowise deployment, which typically holds access to every connected LLM API key, credential, and agent workflow in the tenant. There is no CVSS score, EPSS data, KEV listing, or public exploit/scanner coverage yet, so exploitation likelihood signals are absent — but the attack requires no special tooling, just a valid low-privileged account and a hash cracker, making it trivial once discovered. Any organization running self-hosted or multi-tenant Flowise below 3.1.4 should patch immediately, rotate the organization owner's password and any temporary tokens, and audit access logs on /api/v1/organizationuser for cross-user ID queries as a compromise indicator.
What is the risk?
No formal CVSS/EPSS scoring is available and the flaw is not in CISA KEV or paired with a public exploit or Nuclei template, so opportunistic mass exploitation risk currently looks low. However, the practical severity is high: this is a broken object-level authorization (IDOR/BOLA) issue where the trust boundary is the authenticated-session check rather than per-object ownership validation, so exploitation requires only an existing low-privileged organization account — a bar many multi-tenant or team-managed Flowise deployments will meet. The blast radius is the entire tenant, since the exposed record belongs to the organization owner, the account most likely to hold elevated permissions, connected credentials, and billing/admin control.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Flowise | npm | — | No patch |
Do you use Flowise? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step-
Upgrade to Flowise 3.1.4 or later immediately. Until patched, restrict organization membership to trusted users only and avoid onboarding untrusted members to multi-user Flowise instances. After patching, rotate the organization owner's password and invalidate/reissue any temporary tokens, since the hash and tokens may already have been exposed. Review access logs for GET /api/v1/organizationuser requests referencing user IDs other than the requester's own ID as an indicator of exploitation attempts. Longer term, ensure the endpoint enforces per-object authorization checks (verify the requester is either the target user or has an explicit admin role) rather than only checking authentication.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-90533?
Flowise before 3.1.4 has a broken access control flaw in GET /api/v1/organizationuser that lets any authenticated organization member query another user's record by ID and receive the target's full profile — including their bcrypt password hash and temporary tokens. Because any low-privileged member can target the organization owner's user ID, this is a direct path to compromising the highest-privileged account in a Flowise deployment, which typically holds access to every connected LLM API key, credential, and agent workflow in the tenant. There is no CVSS score, EPSS data, KEV listing, or public exploit/scanner coverage yet, so exploitation likelihood signals are absent — but the attack requires no special tooling, just a valid low-privileged account and a hash cracker, making it trivial once discovered. Any organization running self-hosted or multi-tenant Flowise below 3.1.4 should patch immediately, rotate the organization owner's password and any temporary tokens, and audit access logs on /api/v1/organizationuser for cross-user ID queries as a compromise indicator.
Is CVE-2026-90533 actively exploited?
No confirmed active exploitation of CVE-2026-90533 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-90533?
Upgrade to Flowise 3.1.4 or later immediately. Until patched, restrict organization membership to trusted users only and avoid onboarding untrusted members to multi-user Flowise instances. After patching, rotate the organization owner's password and invalidate/reissue any temporary tokens, since the hash and tokens may already have been exposed. Review access logs for GET /api/v1/organizationuser requests referencing user IDs other than the requester's own ID as an indicator of exploitation attempts. Longer term, ensure the endpoint enforces per-object authorization checks (verify the requester is either the target user or has an explicit admin role) rather than only checking authentication.
What systems are affected by CVE-2026-90533?
This vulnerability affects the following AI/ML architecture patterns: agent frameworks, low-code AI orchestration platforms, multi-tenant SaaS deployments.
What is the CVSS score for CVE-2026-90533?
CVE-2026-90533 has a CVSS v3.1 base score of 6.5 (MEDIUM). The EPSS exploitation probability is 0.19%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0012 Valid Accounts AML.T0049 Exploit Public-Facing Application AML.T0106 Exploitation for Credential Access Compliance Controls Affected
What are the technical details?
Original Advisory
Flowise before 3.1.4 contains a broken access control vulnerability in GET /api/v1/organizationuser that allows any authenticated organization member to retrieve the organization owner's full user record including bcrypt password hash and temporary tokens. Attackers can query the endpoint with any user ID to obtain the owner's credential hash for offline cracking, enabling account takeover of the highest-privileged account.
Exploitation Scenario
An attacker who has legitimate but low-privileged access to a Flowise organization (e.g., a contractor, disgruntled employee, or someone who signed up to a shared multi-tenant instance) enumerates or guesses the organization owner's user ID and calls GET /api/v1/organizationuser with that ID. The endpoint returns the owner's full user record, including the bcrypt password hash and any temporary tokens, without verifying the requester has rights to view it. The attacker takes the hash offline and cracks it (feasible if the owner's password is weak or reused), then logs in as the owner. With owner-level access, the attacker can view and exfiltrate every stored LLM API key and credential, modify or hijack production agent flows, and pivot into any downstream system those agents are connected to.
Weaknesses (CWE)
CWE-862 — Missing Authorization: The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
- [Architecture and Design] Divide the product into anonymous, normal, privileged, and administrative areas. Reduce the attack surface by carefully mapping roles with data and functionality. Use role-based access control (RBAC) [REF-229] to enforce the roles at the appropriate boundaries. Note that this approach may not protect against horizontal authorization, i.e., it will not protect a user from attacking others with the same role.
- [Architecture and Design] Ensure that access control checks are performed related to the business logic. These checks may be different than the access control checks that are applied to more generic resources such as files, connections, processes, memory, and database records. For example, a database may restrict access for medical records to a specific database user, but each record might only be intended to be accessible to the patient and the patient's doctor [REF-7].
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N References
Timeline
Related Vulnerabilities
CVE-2025-71338 10.0 Flowise: unauthenticated file write enables RCE
Same package: flowise CVE-2025-59528 10.0 Flowise: Unauthenticated RCE via MCP config injection
Same package: flowise CVE-2025-61913 9.9 Flowise: path traversal in file tools leads to RCE
Same package: flowise CVE-2026-40933 9.9 Flowise: RCE via MCP stdio command injection
Same package: flowise CVE-2026-46442 9.9 Flowise: sandbox escape enables authenticated RCE
Same package: flowise