Crítica

Langflow: Unauthenticated Flow Execution via Webhook Authentication Bypass

  • Publicada: 05.10.2026
  • Actualizado: 15.10.2026 18:17

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 <= 1.9.0), it returns
    # the flow owner WITHOUT checking the API Key in the request.
    if not settings_service.auth_settings.WEBHOOK_AUTH_ENABLE:
        try:
            flow_owner = await get_user_by_flow_id_or_endpoint_name(flow_id)
            return flow_owner

By default (v1.7.0 through v1.9.0), Langflow treats WEBHOOK_AUTH_ENABLE as False, meaning all webhook endpoints are public. This relies exclusively on the secrecy of the flow_id (UUID), which is an insecure practice (Security by Obscurity).

A related report, GHSA-6g4m-v5q2-475v, demonstrated a concrete RCE chain through this same bypass using the PythonCodeStructuredTool component (exec() on flow-authored Python code). That report is a duplicate of this root cause and has been closed in favor of this advisory; credit for that PoC has been added here.

PoC

  1. Identify a valid flow_id for a flow that performs a sensitive action (e.g., sending an email, writing to a database, or executing a Python script).
  2. Execute a POST request to the webhook endpoint without any Authorization header or API Key:
bash
curl -X POST "http://<server-ip>:7860/api/v1/webhook/<flow_id>" \
     -H "Content-Type: application/json" \
     -d '{"input": "payload"}'
  1. 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.

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Python (PyPI) langflow >= 1.7.0, < 1.9.1 1.9.1

Referencias

Puntuación CVSS 9.8/10
Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Debilidad (CWE)
CWE-306
Plataforma
Python (PyPI)
Paquete
langflow
Publicada
05.10.2026
Actualizado
15.10.2026 18:17

Fuentes y licencias

OSV / GitHub Advisory Database - PYSEC-2026-4233 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-cf6m-vc3m-7cgm - CC BY 4.0

Historial de vulnerabilidades: langflow

Todas las vulnerabilidades publicadas de este paquete (Python (PyPI)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (42) en el archivo
Entradas en total
42
Primera → última
06.2024 10.2026
Sin corrección
7
Explotada en ataques
5

Distribución por gravedad

  • Crítica 15
  • Alta 17
  • Media 7
  • Baja 3

Divulgaciones por año

  1. 2024: 4
  2. 2025: 5
  3. 2026: 33
Gravedad:
  1. Crítica · 9.1 CVE-2026-9205 < 1.10.1 1.10.1
  2. Langflow: Unauthenticated Flow Execution via Webhook Authentication Bypass esta entrada
    Crítica · 9.8 CVE-2026-8505 >= 1.7.0, < 1.9.1 1.9.1
  3. Alta · 8.8 CVE-2026-7700 >= 1.3.0, < 1.10.3 1.10.3
  4. Crítica · 9.6 CVE-2026-48519 < 1.9.2 1.9.2
  5. Crítica · 9.6 CVE-2026-42048 < 1.9.0 1.9.0
  6. Alta · 7.5 CVE-2026-33484 >= 1.0.0, < 1.9.0 1.9.0
  7. Crítica · 9.9 CVE-2026-33309 >= 1.2.0, < 1.9.0 1.9.0
  8. Crítica · 9.8 Explotada en ataques CVE-2026-33017 < 1.9.0 1.9.0
  9. Crítica · 9.8 CVE-2026-27966 <= 1.8.0rc2 sin corrección
  10. Alta Explotada en ataques CVE-2026-0770 <= 1.7.3 sin corrección
  11. Alta · 7.7 CVE-2025-68477 < 1.7.1 1.7.1
  12. Alta · 7.1 CVE-2025-68478 < 1.7.1 1.7.1
  13. Crítica Explotada en ataques CVE-2025-3248 < 1.3.0 1.3.0

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.