Flowise Hardcoded Default JWT Secrets Authentication Bypass
First seen Jul 13, 2026 · Updated Jul 13, 2026 · CVSS 9.8
Flowise, a popular low-code AI agent/LLM workflow builder, ships with hardcoded fallback JWT secrets, audience, and issuer values that activate silently when operators fail to set the corresponding environment variables. An attacker who knows these public default values can forge valid JWTs to impersonate any user, including administrators, granting full control over the agent platform and any connected tools, credentials, or workflows.
Technical Analysis
The enterprise passport authentication middleware (packages/server/src/enterprise/middleware/passport/index.ts) reads JWT_AUTH_TOKEN_SECRET, JWT_REFRESH_TOKEN_SECRET, JWT_AUDIENCE, and JWT_ISSUER from environment variables, but silently falls back to hardcoded literals ('auth_token', 'refresh_token', 'AUDIENCE', 'ISSUER') if they are unset, with no warning or hard failure. Because these values are public (visible in the open-source codebase), an attacker can craft a JWT signed with the known secret and matching audience/issuer claims, and the middleware will validate it as legitimate, granting arbitrary session and role claims including admin privileges. The entry point is any exposed Flowise enterprise deployment with default configuration; exploitation requires no prior authentication, only knowledge of the public default secret and the target's API endpoint. Once authenticated as admin, the attacker gains full control over agent workflows, credentials stored in the platform, connected tool integrations, and any downstream systems those agents can reach, effectively crossing from a platform-level auth flaw into full agentic-pipeline compromise.
Affected Systems
Flowise
Detection Signatures
- Deployment config missing JWT_AUTH_TOKEN_SECRET, JWT_REFRESH_TOKEN_SECRET, JWT_AUDIENCE, or JWT_ISSUER environment variables
- JWT tokens observed with iss=ISSUER or aud=AUDIENCE claim values
- JWT tokens verifiable/signed using the literal strings 'auth_token' or 'refresh_token' as HMAC secret
- Unexpected admin-level API access from unfamiliar source IPs shortly after Flowise deployment
- Absence of startup warning/error when JWT env vars are unset (indicates vulnerable version)
Remediation Steps
- 1
Upgrade Flowise
Update to Flowise 3.1.0 or later, which addresses this hardcoded secret fallback issue.
- 2
Set strong unique secrets
Explicitly configure JWT_AUTH_TOKEN_SECRET, JWT_REFRESH_TOKEN_SECRET, JWT_AUDIENCE, and JWT_ISSUER with cryptographically strong, unique, environment-specific values before deployment.
- 3
Fail closed on missing config
Modify or patch deployments so the application refuses to start or rejects auth entirely if required JWT secrets are not explicitly set, rather than silently using defaults.
- 4
Rotate credentials and audit access
Rotate all JWT secrets and review authentication logs for signs of forged tokens or unauthorized admin access following upgrade.
- 5
Restrict network exposure
Limit access to the Flowise enterprise admin interface to trusted networks/VPN until patched and reconfigured.
CVE / Advisory IDs
Industries Most Exposed
Respond to this threat
Pro subscribers get a full AI-generated incident-response playbook for this threat — detection, containment, eradication, and recovery steps — plus an unlimited AI Threat Advisor for questions about your environment.