{"id":"GHSA-mgrx-3hqw-485h","kind":"vulnerability","aliases":["GHSA-mgrx-3hqw-485h"],"related":[],"title":"Duplicate Advisory: INVITED users auto-promoted via SSO email match (invite-token bypass)","description":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-vf3j-89vf-r697. This link is maintained to preserve external references.\n\n### Original Description\nFlowise through 3.1.4 (Enterprise/platform mode with SSO enabled) contains an authentication bypass in the SSO login path. When an SSO callback arrives with an email matching a user whose status is INVITED, verifyAndLogin (SSOBase.ts:80-94) copies the user record from the database — including the server-stored single-use invitation tempToken — into the data passed to AccountService.register(). The register handler's token lookup, email match, and expiry checks therefore pass trivially against the server's own token instead of a caller-supplied one, and the account and its organization membership are flipped to ACTIVE. As a result, anyone able to authenticate at any configured SSO provider using a pending invitee's email address as the email claim can take over that invitation and obtain the invited user's access to the organization without ever possessing the emailed invitation token, for as long as the invitation is valid (24 hours by default). At the time of the advisory no patched version was available.","summary":"Flowise through 3.1.4 with SSO enabled can auto-activate a user whose invitation is still pending when an SSO login arrives with that user's email address. An attacker who can authenticate at any configured SSO provider with the invitee's email gets the invited user's organization access without the emailed invitation token.","severity":"critical","cvss":7.7,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"flowise","fixed":[],"affected":"<= 3.1.4","ecosystem":"npm"}],"ecosystems":["npm"],"tags":["cwe-287","flowise","npm","package","self-hosted","sso"],"not_affected_if":["single-user-mode","sso-disabled"],"how_to_check":"- Check the installed Flowise version (`npm ls flowise` or the image tag) against the range in the advisory.\n- Confirm whether SSO is enabled in Enterprise or platform mode.\n- Look for users in INVITED status in the Flowise database.","fix":null,"status":"withdrawn","published_at":"2026-09-26T15:31:13+00:00","first_seen_at":"2026-11-05T15:20:50+00:00","triaged_at":"2026-11-05T15:21:59+00:00","updated_at":"2026-11-05T15:21:59+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-05T15:21:59Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Flowise: SSO login lets pending invitees be activated without their token","impact":"high","summary":"Flowise through 3.1.4 with SSO enabled can auto-activate a user whose invitation is still pending when an SSO login arrives with that user's email address. An attacker who can authenticate at any configured SSO provider with the invitee's email gets the invited user's organization access without the emailed invitation token.","audience":"developers","category":"package","nicknames":[],"who_cares":["flowise","npm","sso","self-hosted"],"confidence":0.6,"fix_status":"none","needs_auth":"yes","worst_case":"attacker takes over a pending invitation and gains organization access","analyst_note":"Advisory is withdrawn as a duplicate; confirm the fixed version and status from GHSA-vf3j-89vf-r697, since the sources here state no fix.","how_to_check":"- Check the installed Flowise version (`npm ls flowise` or the image tag) against the range in the advisory.\n- Confirm whether SSO is enabled in Enterprise or platform mode.\n- Look for users in INVITED status in the Flowise database.","plain_action":"","needs_analyst":true,"not_affected_if":["sso-disabled","single-user-mode"],"who_is_affected":"Teams running Flowise 3.1.4 or earlier in Enterprise/platform mode with SSO enabled. Deployments without SSO, or on a fixed release, are not affected by this path. This advisory is a withdrawn duplicate of GHSA-vf3j-89vf-r697, so check that entry for the authoritative details.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000755,"input_tokens":4563,"output_tokens":598,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-287':28B '-94':153C '24':268C '3.1.4':38B,121C '3hqw':19A,24A '485h':20A,25A '89vf':107C 'abl':219C 'access':85B,249C 'account':206C 'accountservice.register':176C 'activ':45B,214C 'address':63B,233C 'advisori':2A,92C,94C,277C 'anyon':218C 'arriv':57B,140C 'attack':65B 'authent':68B,129C,221C 'auto':6A,44B 'auto-activ':43B 'auto-promot':5A 'avail':282C 'bypass':15A,130C 'callback':139C 'caller':201C 'caller-suppli':200C 'check':187C 'claim':237C 'configur':71B,224C 'contain':127C 'copi':154C 'cwe':27B 'data':173C 'databas':160C 'default':271C 'descript':118C 'duplic':1A,91C,102C 'email':10A,62B,78B,88B,143C,183C,232C,236C,257C 'enabl':41B,126C 'enterprise/platform':122C 'ever':254C 'expiri':186C 'extern':115C 'flip':212C 'flowis':29B,36B,119C 'flowise':26A 'get':79B 'ghsa':17A,22A,105C 'ghsa-mgrx-3hqw-485h':16A,21A 'ghsa-vf3j-89vf-r697':104C 'handler':179C 'host':34B 'hour':269C 'includ':161C 'instead':197C 'invit':3A,13A,49B,81B,89B,150C,169C,242C,246C,258C,265C 'invite':76B,230C 'invite-token':12A 'link':110C 'login':56B,134C 'long':262C 'lookup':182C 'maintain':112C 'match':11A,144C,184C 'membership':210C 'mgrx':18A,23A 'mode':123C 'npm':30B 'obtain':244C 'one':203C 'organ':84B,209C,252C 'origin':117C 'packag':31B 'pass':174C,189C 'patch':279C 'path':135C 'pend':52B,229C 'possess':255C 'preserv':114C 'promot':7A 'provid':73B,226C 'r697':108C 'record':157C 'refer':116C 'regist':178C 'result':217C 'self':33B 'self-host':32B 'server':164C,193C 'server-stor':163C 'singl':167C 'single-us':166C 'sso':9A,35B,40B,55B,72B,125C,133C,138C,225C 'ssobase.ts:80':152C 'status':148C 'still':51B 'store':165C 'suppli':202C 'take':239C 'temptoken':170C 'therefor':188C 'time':274C 'token':14A,90B,181C,196C,259C 'trivial':190C 'use':168C,227C 'user':4A,47B,60B,82B,146C,156C,247C 'valid':267C 'verifyandlogin':151C 'version':280C 'vf3j':106C 'via':8A 'whose':48B,147C 'withdrawn':97C 'without':86B,253C","nicknames":[],"mitigations":[],"who_affected":"Teams running Flowise 3.1.4 or earlier in Enterprise/platform mode with SSO enabled. Deployments without SSO, or on a fixed release, are not affected by this path. This advisory is a withdrawn duplicate of GHSA-vf3j-89vf-r697, so check that entry for the authoritative details.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"developers","plain_action":null,"pkeys":["flowise"],"ptokens":["flowise"],"labels":["critical","cwe287","flowise","npm","package","selfhosted","sso"],"campaign_type":null,"first_public_at":"2026-09-26T15:31:13+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:L","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-mgrx-3hqw-485h","url":"https://github.com/advisories/GHSA-mgrx-3hqw-485h","severity":"critical","published_at":"2026-09-26T15:31:13+00:00","modified_at":"2026-11-05T15:18:09+00:00","first_seen_at":"2026-11-05T15:20:50+00:00","fetched_at":"2026-11-05T16:22:05+00:00","note":null}],"documents":[{"id":77201,"url":"https://github.com/FlowiseAI/Flowise/security/advisories/GHSA-vf3j-89vf-r697","title":"Maintainer's advisory: github.com","kind":"vendor","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Maintainer's advisory: github.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}