This security policy applies to all public projects under the langflow-ai organization on GitHub. We prioritize security and continuously work to safeguard our systems. However, vulnerabilities can still exist. If you identify a security issue, please report it to us so we can address it promptly.
- Fixes are released either as part of the next minor version (e.g., 1.3.0 → 1.4.0) or as an on-demand patch version (e.g., 1.3.0 → 1.3.1)
- Security fixes are given priority and might be enough to cause a new version to be released
We encourage responsible disclosure of security vulnerabilities. If you find something suspicious, we encourage and appreciate your report!
Use the "Report a vulnerability" button under the "Security" tab of the Langflow GitHub repository. This creates a private communication channel between you and the maintainers.
- Provide clear details to help us reproduce and fix the issue quickly
- Include steps to reproduce, potential impact, and any suggested fixes
- Your report will be kept confidential, and your details will not be shared without your consent
- We will acknowledge your report within 5 business days
- We will provide an estimated resolution timeline
- We will keep you updated on our progress
- Do not publicly disclose vulnerabilities until we have assessed, resolved, and notified affected users
- If you plan to present your research (e.g., at a conference or in a blog), share a draft with us at least 30 days in advance for review
- Avoid including:
- Data from any Langflow customer projects
- Langflow user/customer information
- Details about Langflow employees, contractors, or partners
We appreciate your efforts in helping us maintain a secure platform and look forward to working together to resolve any issues responsibly.
Langflow allows users to define and run custom code components through endpoints like /api/v1/validate/code
. In versions < 1.3.0, this endpoint did not enforce authentication or proper sandboxing, allowing unauthenticated arbitrary code execution.
This means an attacker could send malicious code to the endpoint and have it executed on the server—leading to full system compromise, including data theft, remote shell access, or lateral movement within the network.
CVE: CVE-2025-3248 Fixed in: Langflow >= 1.3.0
A privilege escalation vulnerability exists in Langflow containers where an authenticated user with RCE access can invoke the internal CLI command langflow superuser
to create a new administrative user. This results in full superuser access, even if the user initially registered through the UI as a regular (non-admin) account.
CVE: CVE-2025-57760 Fixed in: Langflow >= 1.5.1
No API key required if running Langflow with LANGFLOW_AUTO_LOGIN=true
and LANGFLOW_SKIP_AUTH_AUTO_LOGIN=true
In Langflow versions earlier than 1.5, if LANGFLOW_AUTO_LOGIN=true
, then Langflow automatically logs users in as a superuser without requiring authentication. In this case, API requests don't require a Langflow API key.
In Langflow version 1.5, a Langflow API key is required to authenticate requests.
Setting LANGFLOW_SKIP_AUTH_AUTO_LOGIN=true
and LANGFLOW_AUTO_LOGIN=true
skips authentication for API requests. However, the LANGFLOW_SKIP_AUTH_AUTO_LOGIN
option will be removed in v1.6.
LANGFLOW_SKIP_AUTH_AUTO_LOGIN=true
is the default behavior, so users do not need to change existing workflows in 1.5. To update your workflows to require authentication, set LANGFLOW_SKIP_AUTH_AUTO_LOGIN=false
.
For more information, see API keys and authentication.
The langflow superuser
CLI command can present a privilege escalation risk if not properly secured.
-
Authentication Required in Production
- When
LANGFLOW_AUTO_LOGIN=false
, superuser creation requires authentication - Use
--auth-token
parameter with a valid superuser API key or JWT token
- When
-
Disable CLI Superuser Creation
- Set
LANGFLOW_ENABLE_SUPERUSER_CLI=false
to disable the command entirely - Strongly recommended for production environments
- Set
-
Secure AUTO_LOGIN Setting
- Default is
true
for <=1.5. This may change in a future release. - When
true
, creates default superuserlangflow/langflow
- ONLY USE IN DEVELOPMENT
- Default is
# Recommended production settings
export LANGFLOW_AUTO_LOGIN=false
export LANGFLOW_ENABLE_SUPERUSER_CLI=false
export LANGFLOW_SUPERUSER="<your-superuser-username>"
export LANGFLOW_SUPERUSER_PASSWORD="<your-superuser-password>"
export LANGFLOW_DATABASE_URL="<your-production-database-url>" # e.g. "postgresql+psycopg://langflow:[email protected]:5432/langflow"
export LANGFLOW_SECRET_KEY="your-strong-random-secret-key"