GitHub Advisoryadvisory · PyPI
GHSA-cf6m-vc3m-7cgm Langflow: Unauthenticated Flow Execution via Webhook Authentication Bypass
CRITICAL
Official page ↗
- Aliases
- CVE-2026-8505
- Ecosystem
- PyPI
- Packages
- langflow
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-306
- Reviewed
- 2026-10-05
Affected packages
• PyPI langflow: >= 1.7.0, < 1.9.1 → fixed in 1.9.1
Description
Summary
A vulnerability in Langflow's webhook authentication logic allows unauthenticated users to trigger the execution of any flow. The system incorrectly bypasses API key validation when the `WEBHOOK_AUTH_ENABLE` configuration is set to `False`. This allows a remote attacker who knows a flow's UUID to execute it as if they were the owner, potentially leading to Remote Code Execution (RCE) or Denial of Service (DoS).
Details
The `WEBHOOK_AUTH_ENABLE` setting was introduced in v1.7.0 (#9139) with a default of `False`. The root cause is in the webhook authentication path, `AuthService.get_webhook_user` (`src/backend/base/langflow/services/auth/service.py`; the thin wrapper in `src/backend/base/langflow/services/auth/utils.py` just delegates to it):
```python
async def get_webhook_user(self, flow_id: str, request: Request) -> UserRead:
settings_service = self.settings
...
# VULNERABILITY: If this setting is False (default in :7860/api/v1/webhook/" \
-H "Content-Type: application/json" \
-d '{"input": "payload"}'
```
3. Verify that the flow execution is triggered and the action is performed on the server.
Impact
This is a High-severity Authentication Bypass.
• Remote Code Execution (RCE): Flows often contain components that execute arbitrary Python code. An attacker can leverage this to gain full control over the server.
• Denial of Service (DoS): Attackers can exhaust system resources by triggering heavy flows concurrently.
• Data Integrity: Unauthorized execution of flows can lead to unintended modification of databases or external systems connected via the flow.
Affected versions
`>= 1.7.0, <= 1.9.0` (the range in which `WEBHOOK_AUTH_ENABLE` existed and defaulted to `False`).
Fix
Fixed in v1.9.1 by PR #12845 — `fix(security): default WEBHOOK_AUTH_ENABLE to True`. The setting's default changed from `False` to `True`, so webhook endpoints now require API key authentication and ownership validation by default, unless an operator explicitly opts out via `LANGFLOW_WEBHOOK_AUTH_ENABLE=false`.
Related
Alias · CVE (1)
- CVE-2026-8505 IBM Langflow OSS 1.0.0 through 1.10.0 has a vulnerability in Langflow's webhook authentication logic allows unauthenticated users to… vulnerability
Weakness · CWE (1)
- CWE-306 Missing Authentication for Critical Functionality weakness
References
- https://github.com/langflow-ai/langflow/security/advisories/GHSA-cf6m-vc3m-7cgm web
- https://nvd.nist.gov/vuln/detail/CVE-2026-8505 advisory
- https://github.com/langflow-ai/langflow/pull/12845 web
- https://github.com/langflow-ai/langflow/commit/cb6f7508dda83ead9c3e4417e96e4b5bd9a260c3 web
- https://github.com/langflow-ai/langflow package
- https://github.com/langflow-ai/langflow/releases/tag/v1.9.1 web
- https://www.ibm.com/support/pages/node/7278921 web