CVE-2026-56269: Flowise Hardcoded Encryption Secret in JWT Metadata
Flowise, a popular open-source workflow automation platform, contains a hardcoded encryption secret in versions 3.0.13 and earlier. When administrators don't explicitly configure the TOKEN_HASH_SECRET environment variable, the application defaults to a publicly known weak value ('Secre$t'). This secret is used to encrypt sensitive metadata (user IDs and workspace IDs) embedded within authentication tokens. An attacker who discovers or deploys Flowise with this default secret can decrypt the metadata to learn internal identifiers and potentially manipulate them. While this alone doesn't bypass authentication, it could facilitate privilege escalation or lateral movement by revealing system structure and enabling token forgery attempts.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 4.6 MEDIUM · CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:L/A:N
- Weaknesses (CWE)
- CWE-798
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-24 / 2026-06-26
NVD description (verbatim)
Flowise before 3.1.0 (npm package flowise, versions 3.0.13 and earlier) uses a weak hardcoded default value 'Secre$t' for the TOKEN_HASH_SECRET environment variable in packages/server/src/enterprise/utils/tempTokenUtils.ts when the variable is not configured. This secret derives the AES-256-CBC key used to encrypt user IDs and workspace IDs in the 'meta' field of JWT tokens. An attacker who knows the default secret can decrypt this metadata to extract internal user and workspace identifiers, and re-encrypt manipulated values such as altered user or workspace IDs. Because the JWT signature is validated separately, decrypting or tampering with this metadata does not by itself grant access, but the disclosure of internal identifiers and possible metadata manipulation could aid privilege escalation or unauthorized data access.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability exists in packages/server/src/enterprise/utils/tempTokenUtils.ts, where AES-256-CBC encryption of JWT metadata relies on a key derived from TOKEN_HASH_SECRET. When this environment variable is unset, Flowise falls back to the hardcoded string 'Secre$t'. Because this default is consistent across deployments and discoverable through source code inspection, any attacker with network access to a vulnerable Flowise instance can decrypt the 'meta' field of tokens to extract embedded user and workspace identifiers. Additionally, re-encryption of tampered metadata becomes possible. The JWT signature itself remains cryptographically valid during this process, meaning that metadata manipulation alone does not constitute a complete authentication bypass—signature validation would still reject the token if the encrypted payload were altered in isolation. However, the combination of identifier disclosure and metadata tampering could enable privilege escalation if coupled with other application logic flaws.
Business impact
Organizations running Flowise as a workflow or automation backbone risk exposure of internal user and workspace identifiers, which can reveal organizational structure and privilege relationships. In multi-tenant deployments, cross-tenant metadata leakage is possible. The ability to manipulate token metadata, even without bypassing signature validation, increases the surface area for privilege escalation exploits and could be chained with application logic vulnerabilities to gain unauthorized access to sensitive workflows, data, or administrative functions. The impact severity is moderated by the requirement for network access and the fact that JWT signature validation remains intact, but the ease of exploitation—requiring only knowledge of the default secret—makes this a priority for any production Flowise installation.
Affected systems
Flowise npm package versions 3.0.13 and earlier are vulnerable. Version 3.1.0 and above have addressed this issue. Organizations should audit all deployments to determine which version is in use and whether TOKEN_HASH_SECRET has been explicitly configured. Self-hosted and containerized Flowise instances are equally at risk if the environment variable is not set during initialization.
Exploitability
Exploitation requires network access to a Flowise instance and knowledge of the default hardcoded secret, which is trivially obtainable from public source code repositories. The attacker does not require valid credentials to perform decryption, though they must have the ability to capture or observe JWT tokens in transit or at rest. The CVSS score of 4.6 reflects the local/high-effort attack vector, but the low barrier to exploitation in practice—needing only the widely-known default secret—makes this a routine target for opportunistic attackers scanning for unpatched Flowise instances.
Remediation
Upgrade Flowise to version 3.1.0 or later, which corrects the hardcoded secret issue. Alternatively, immediately set the TOKEN_HASH_SECRET environment variable to a cryptographically secure random value (minimum 32 characters of high entropy) in all running Flowise instances. For existing deployments, setting this variable takes effect on the next application restart and does not require code changes. All instances should be audited to confirm explicit TOKEN_HASH_SECRET configuration; do not rely on documented defaults.
Patch guidance
Update the flowise npm package to version 3.1.0 or above. Verify the update in your package-lock.json or yarn.lock file. If you cannot upgrade immediately, set TOKEN_HASH_SECRET to a strong random value before restarting Flowise. Test token encryption behavior in a staging environment to confirm that existing tokens are not invalidated by the change (they should continue to validate if the encryption key change does not affect the JWT signature algorithm). Monitor Flowise logs for any authentication anomalies post-patching.
Detection guidance
Search logs and environment configurations for instances of Flowise running without an explicit TOKEN_HASH_SECRET variable set. Examine running processes for the default environment state. If feasible, extract and decrypt a sample JWT token from your Flowise instance using the hardcoded secret; if successful, your instance is vulnerable. Network intrusion detection rules can flag patterns of repeated token decryption attempts by external actors, though such activity may be difficult to distinguish from legitimate token validation. Regular token rotation and monitoring of unexpected privilege escalations in Flowise audit logs may reveal exploitation attempts.
Why prioritize this
Although the CVSS score is moderate (4.6), the practical exploitability is high due to the trivial default secret and the lack of authentication required to extract identifiers. Any organization using Flowise in production or in environments where internal IDs must remain confidential should prioritize patching or configuration changes immediately. The vulnerability is not publicly weaponized (not on CISA KEV), but the low friction for exploit development and the direct exposure of internal metadata make delay unwise.
Risk score, explained
The CVSS 4.6 score reflects a local/high-friction attack vector (AV:L, AC:H) and requires high privileges and user interaction (PR:H, UI:R), resulting in high confidentiality impact but low integrity and no availability impact. In practice, the risk is elevated because the 'local' aspect is overstated for a network-accessible web service, and the 'high complexity' is minimal when the default secret is public. Organizations should weight this as a higher practical risk than the score suggests, especially if Flowise is internet-facing or handles sensitive multi-tenant data.
Frequently asked questions
Do I need valid Flowise credentials to exploit this vulnerability?
No. An attacker only needs network access to capture or observe a JWT token and knowledge of the default secret to decrypt the metadata. Valid credentials are not required for token decryption itself.
Will patching or setting TOKEN_HASH_SECRET invalidate existing user sessions?
Changing the encryption secret will render previously encrypted metadata undecryptable with the new key. However, because JWT signature validation is separate, tokens will be rejected on the next validation cycle if the metadata cannot be decrypted correctly. Plan for a re-authentication cycle after applying the patch or changing the secret. Test in staging first.
Does this vulnerability allow an attacker to forge new tokens?
No. While an attacker can decrypt and re-encrypt metadata, the JWT signature is validated independently and is not derived from the flawed TOKEN_HASH_SECRET. Forging a valid signature requires access to the signing key, which is separate. Token forgery is not possible with knowledge of the encryption secret alone.
Is there a way to know if my Flowise instance has already been exploited?
Flowise does not log encryption or decryption of token metadata by default. Check your network access logs and WAF/IDS alerts for unusual patterns of token inspection or repeated failed authentication attempts. Enable verbose Flowise logging if possible, and review administrative action logs for unexpected privilege changes or workspace access patterns.
This analysis is provided for informational purposes to help security teams prioritize and remediate vulnerabilities. SEC.co makes no warranty regarding the completeness or accuracy of this information and recommends verification of all patch availability and applicability against your specific Flowise deployment and version. Always test patches in a non-production environment before applying to production systems. Consult the official Flowise security advisories and release notes for authoritative guidance. This vulnerability is not currently tracked on CISA's Known Exploited Vulnerabilities (KEV) catalog; however, absence from KEV does not guarantee lack of active exploitation in the wild. Source: NVD (public-domain), retrieved 2026-07-30. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-21404MEDIUMNAVTOR NavBox Hard-Coded SOAP Credentials Allow Local File Modification
- CVE-2026-25600MEDIUMPDBM Hard-Coded Encryption Secret Vulnerability
- CVE-2026-36616MEDIUMMercusys AC12G Hardcoded WiFi Credentials Vulnerability
- CVE-2026-47847MEDIUMHardcoded Replication Credentials in Bitnami MariaDB Galera
- CVE-2026-49204MEDIUMHardcoded AWS Cognito Credentials in Acer Connect M6E 5G Firmware
- CVE-2026-49323MEDIUMIndian Motorcycle Scout Bobber + Tech Immobilizer Bypass via Weak WCM-ECM Authentication
- CVE-2026-9260MEDIUMHard-Coded Cryptographic Keys in Canon EOS Network Setting Tool
- CVE-2019-25722HIGHHard-Coded Credentials and DoS in Dräger Patient Monitoring Devices