{"id":"CVE-2026-100609","summary":"Flowise through 3.1.4 Insecure Direct Object Reference via Credential","details":"Flowise (npm packages `flowise` and `flowise-components`) through 3.1.4 looks up credentials by ID without filtering on the requesting user's workspace (findOneBy({ id: credentialId }) with no workspaceId condition) in several code paths: getAllOpenaiAssistants/getSingleOpenaiAssistant (GET /api/v1/openai-assistants and /api/v1/openai-assistants/:id), uploadFilesToAssistant (POST /api/v1/openai-assistants-file/upload/), deleteAssistant (DELETE /api/v1/assistants/:id, reachable by first importing a poisoned assistant row via POST /api/v1/export-import/import), and the shared helper used by getVoices (GET /api/v1/text-to-speech/voices). An authenticated user of one workspace can supply a credential UUID belonging to another workspace, causing the server to decrypt and use that workspace's OpenAI or ElevenLabs API key on the attacker's behalf. No patched version was available at the time of publication.","aliases":["GHSA-27w2-26m5-x82c"],"modified":"2026-09-28T03:48:30.768180812Z","published":"2026-09-26T13:22:51.940Z","database_specific":{"cna_assigner":"VulnCheck","cwe_ids":["CWE-639"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/100xxx/CVE-2026-100609.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/100xxx/CVE-2026-100609.json"},{"type":"ADVISORY","url":"https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-27w2-26m5-x82c"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-100609"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/flowise-through-3.1.4-insecure-direct-object-reference-via-credential"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/flowiseai/flowise","events":[{"introduced":"0"},{"fixed":"a65f81bb43ef66d3ce734bf0dff4223ae8041c95"}],"database_specific":{"source":["AFFECTED_FIELD","DESCRIPTION"],"extracted_events":[{"introduced":"0"},{"last_affected":"3.1.4"},{"fixed":"3.1.4"}]}}],"versions":["flowise@3.1.3","flowise-ui@3.1.3","flowise-components@3.1.3","flowise@3.1.2","flowise-ui@3.1.2","flowise-components@3.1.2","flowise@3.1.1","flowise-ui@3.1.1","flowise-components@3.1.1","flowise@3.1.0","flowise-ui@3.1.0","flowise-components@3.1.0","pre-langchain-v1","flowise@3.0.13","flowise-ui@3.0.13","flowise-components@3.0.13","flowise@3.0.12","flowise-ui@3.0.12","flowise-components@3.0.12","flowise@3.0.11","flowise-ui@3.0.11","flowise-components@3.0.11","flowise@3.0.10","flowise-ui@3.0.10","flowise-components@3.0.10","flowise@3.0.9","flowise-ui@3.0.9","flowise-components@3.0.9","flowise@3.0.8","flowise-ui@3.0.8","flowise-components@3.0.8","flowise@3.0.7","flowise-ui@3.0.7","flowise-components@3.0.7","flowise@3.0.6","flowise-ui@3.0.6","flowise-components@3.0.6","flowise@3.0.5","flowise-ui@3.0.5","flowise-components@3.0.5","flowise@3.0.4","flowise-ui@3.0.4","flowise-components@3.0.4","flowise@3.0.3","flowise-ui@3.0.3","flowise-components@3.0.3","flowise@3.0.2","flowise-ui@3.0.2","flowise-components@3.0.2","flowise@3.0.1","flowise-ui@3.0.1","flowise-components@3.0.1","flowise@3.0.0","flowise-ui@3.0.0","flowise-components@3.0.0","flowise@2.2.8","flowise-ui@2.2.8","flowise-components@2.2.8","flowise@2.2.7-patch.1","flowise-ui@2.2.7-patch.1","flowise-components@2.2.7-patch.1","flowise@2.2.7","flowise-ui@2.2.7","flowise-components@2.2.7","flowise@2.2.6-hotfix.1","flowise@2.2.6","flowise-ui@2.2.6","flowise-components@2.2.6","flowise@2.2.5","flowise-ui@2.2.5","flowise-components@2.2.5","flowise@2.2.4","flowise-ui@2.2.4","flowise-components@2.2.4","flowise@2.2.3","flowise-ui@2.2.3","flowise-components@2.2.3","flowise@2.2.2","flowise-ui@2.2.2","flowise-components@2.2.2","flowise@2.2.1","flowise-ui@2.2.1","flowise-components@2.2.1","flowise@2.2.0","flowise-ui@2.2.0","flowise-components@2.2.0","flowise@2.1.5","flowise-ui@2.1.5","flowise-components@2.1.5","flowise@2.1.4","flowise-ui@2.1.4","flowise-components@2.1.4","flowise@2.1.3","flowise-ui@2.1.3","flowise-components@2.1.3","flowise@2.1.2","flowise-ui@2.1.2","flowise-components@2.1.2","flowise@2.1.1","flowise-ui@2.1.1","flowise-components@2.1.1","flowise@2.1.0","flowise-ui@2.1.0","flowise-components@2.1.0","flowise@2.0.7","flowise-ui@2.0.7","flowise-components@2.0.7","flowise@2.0.6","flowise-ui@2.0.6","flowise-components@2.0.6","flowise@2.0.5","flowise-ui@2.0.5","flowise-components@2.0.5","flowise@2.0.4","flowise-ui@2.0.4","flowise-components@2.0.4","flowise@2.0.3","flowise-ui@2.0.3","flowise-components@2.0.3","flowise@2.0.2","flowise-ui@2.0.2","flowise-components@2.0.2","flowise@1.8.4","flowise-ui@1.8.4","flowise-components@1.8.6","flowise@1.8.3","flowise-ui@1.8.3","flowise-components@1.8.4","flowise@1.8.2","flowise-ui@1.8.2","flowise-components@1.8.3","flowise@1.8.1","flowise-ui@1.8.1","flowise-components@1.8.1","flowise@1.8.0","flowise-ui@1.8.0","flowise-components@1.8.0","flowise@1.7.2","flowise-ui@1.7.2","flowise-components@1.7.2","flowise@1.7.1","flowise-ui@1.7.1","flowise-components@1.7.1","flowise@1.7.0","flowise-ui@1.7.0","flowise-components@1.7.0","flowise@1.6.6","flowise-ui@1.6.6","flowise-components@1.6.8","flowise@1.6.5","flowise-ui@1.6.5","flowise-components@1.6.7","flowise@1.6.4","flowise-ui@1.6.4","flowise-components@1.6.6","flowise@1.6.3","flowise-ui@1.6.3","flowise-components@1.6.5","flowise@1.6.2","flowise-ui@1.6.2","flowise-components@1.6.4","flowise@1.6.1","flowise-ui@1.6.1","flowise-components@1.6.3","flowise@1.6.0","flowise-ui@1.6.0","flowise-components@1.6.2","flowise@1.5.1","flowise-ui@1.5.1","flowise-components@1.6.1","flowise@1.5.0","flowise-ui@1.5.0","flowise-components@1.6.0","flowise@1.4.12","flowise-ui@1.4.9","flowise-components@1.5.3","flowise@1.4.11","flowise-ui@1.4.8","flowise-components@1.5.2","flowise@1.4.10","flowise-ui@1.4.7","flowise-components@1.5.1","flowise@1.4.9","flowise@1.4.8","flowise-ui@1.4.6","flowise-components@1.5.0","flowise@1.4.7","flowise-ui@1.4.5","flowise-components@1.4.9","flowise-components@1.4.8","flowise@1.4.6","flowise-ui@1.4.4","flowise-components@1.4.7","flowise@1.4.5","flowise-ui@1.4.3","flowise@1.4.4","flowise-ui@1.4.2","flowise-components@1.4.6","flowise@1.4.2","flowise-components@1.4.2","flowise@1.4.1","flowise-components@1.4.1","flowise@1.4.0","flowise-ui@1.4.0","flowise-components@1.4.0","flowise@1.3.9","flowise-ui@1.3.7","flowise-components@1.3.11","flowise-components@1.3.10","flowise@1.3.8","flowise-ui@1.3.6","flowise-components@1.3.9","flowise@1.3.7","flowise-ui@1.3.5","flowise-components@1.3.8","flowise@1.3.6","flowise-ui@1.3.4","flowise-components@1.3.7","flowise@1.3.5","flowise-ui@1.3.3","flowise-components@1.3.5","flowise@1.3.4","flowise-ui@1.3.2","flowise-components@1.3.4","flowise@1.3.3","flowise-ui@1.3.1","flowise-components@1.3.3","flowise@1.3.2","flowise-components@1.3.2","flowise@1.3.1","flowise-components@1.3.1","flowise@1.3.0","flowise-ui@1.3.0","flowise-components@1.3.0","flowise@1.2.16","flowise-ui@1.2.15","flowise-components@1.2.17","flowise@1.2.15","flowise-ui@1.2.14","flowise-components@1.2.16","flowise@1.2.14","flowise-ui@1.2.13","flowise-components@1.2.15","flowise@1.2.13","flowise-ui@1.2.12","flowise-components@1.2.14","flowise@1.2.11","flowise-ui@1.2.10","flowise-components@1.2.12","flowise@1.2.9","flowise-components@1.2.10","flowise@1.2.8","flowise-ui@1.2.7","flowise-components@1.2.9","flowise@1.2.7","flowise-ui@1.2.6","flowise-components@1.2.8","flowise@1.2.6","flowise-ui@1.2.5","flowise-components@1.2.7","flowise@1.2.5","flowise-ui@1.2.4","flowise-components@1.2.6","flowise@1.2.4","flowise-ui@1.2.3","flowise-components@1.2.5","flowise@1.2.3","flowise-ui@1.2.2","flowise-components@1.2.4","flowise-components@1.2.3","flowise@1.2.2","flowise-ui@1.2.1","flowise-components@1.2.2","flowise@1.2.1","flowise-ui@1.2.0","flowise-components@1.2.1","flowise@1.1.1","flowise-components@1.1.1","flowise@1.1.0","flowise-ui@1.1.0","flowise-components@1.1.0","flowise@1.0.1","flowise@1.0.0","flowise-ui@1.0.0","flowise-components@1.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-100609.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"}]}