Ejecución remota de código en Langflow: La brecha del protocolo MCP y la trampa del acceso automático
Un fallo crítico en el protocolo Model Context Protocol (MCP) y el inicio automático como superusuario dejan expuestas las instancias de Langflow desde la versión 1.0.0 hasta la 1.12.8.
Fecha de publicación: 2026.11.03
Afecta a todas las ramas previas a la versión 1.13.0
Ejecución remota de código (RCE) sin autenticación previa
La actualización a v1.13.0 es la única mitigación válida
Vector de ataque en Langflow: Evasión de autenticación mediante MCP y privilegios de superusuario
El auge de la integración de agentes mediante el protocolo Model Context Protocol (MCP) ha introducido un punto ciego crítico en la seguridad de la infraestructura de inteligencia artificial. Langflow, el entorno de orquestación visual de flujos de trabajo de IA mantenido bajo la gobernanza técnica de IBM, presenta dos vulnerabilidades críticas que permiten a atacantes remotos sin credenciales ejecutar código arbitrario y evadir los controles de acceso en el servidor. El problema radica en la interacción entre la exposición de flujos como herramientas MCP y una configuración permisiva heredada en el sistema de gestión de identidades.
La variable de entorno LANGFLOW_AUTO_LOGIN se distribuía activada por defecto hasta la versión 1.12.8. Cuando este parámetro permanece activo, el motor web asigna automáticamente privilegios de superusuario a cualquier sesión entrante sin solicitar credenciales ni validar tokens de sesión. Aunque la documentación interna del repositorio advertía que este modo debía restringirse exclusivamente a fases de desarrollo local, miles de despliegues productivos en contenedores mantuvieron la configuración predeterminada en entornos de nube.
De la enumeración de herramientas MCP al compromiso del host
El atacante alcanza el endpoint de la API sin enviar cabeceras de autorización.
La variable LANGFLOW_AUTO_LOGIN otorga permisos administrativos sin validar la identidad.
Se enumeran flujos internos y se ejecutan llamadas Python directamente en el servidor subyacente.
La superficie de exposición se agrava con el módulo público desarrollado para el framework Metasploit registrado bajo el código CVE-2026-93680. Este módulo automatiza la conexión al endpoint MCP sin credenciales, inicia una sesión interactiva y enumera el catálogo completo de herramientas y conectores configurados en el servidor. A través de este vector, un atacante remoto no solo extrae secretos de conexión y claves de API de modelos de lenguaje, sino que aprovecha la enumeración de herramientas para desencadenar la ejecución no autenticada de comandos del sistema operativo.
Matriz de versiones afectadas, métricas de riesgo CVSS y exposición de infraestructura
El impacto de este fallo no es un incidente aislado en el ecosistema de Langflow. El boletín de seguridad publicado por IBM recopila 33 registros de vulnerabilidades descubiertos recientemente en la plataforma, incluyendo el identificador CVE-2026-104339, catalogado con una puntuación de severidad crítica de 9.8 en la escala CVSS. Adicionalmente, el catálogo de vulnerabilidades explotadas conocidas (KEV) de la agencia CISA ya contenía seis fallos previos de Langflow, entre ellos el CVE-2026-9198 incorporado a finales del verano.
La versión de mantenimiento 1.12.8, liberada el 22 de octubre en paralelo a la rama correctiva, no resuelve el problema y continúa siendo vulnerable. PyPI no dispone de ninguna compilación segura dentro de la rama 1.12. IBM ha confirmado formalmente que no existe ninguna solución temporal o parche de configuración manual aplicable a las versiones afectadas. La única vía de saneamiento técnico es la migración directa a Langflow 1.13.0, versión en la que el inicio de sesión automático queda desactivado de forma predeterminada a nivel de código fuente.
| Métrica / Parámetro de evaluación | Langflow 1.0.0 – 1.12.8 | Langflow 1.13.0 | Impacto en operaciones |
|---|---|---|---|
| Puntuación de impacto CVSS v3 | 9.8 (Crítico) | 0.0 (Remediado) | Cero tolerancia en auditorías perimetrales |
Configuración LANGFLOW_AUTO_LOGIN | Habilitada por defecto (True) | Deshabilitada por defecto (False) | Requiere aprovisionamiento explícito de credenciales |
| Vector de exposición MCP | Consulta abierta sin tokens | Autenticación estricta requerida | Bloqueo de escaneo no autorizado por Metasploit |
| Coste estimado de remediación (TCO) | Alto (Riesgo de intrusión y fuga de API keys) | Bajo (Downtime de actualización: 5–15 min) | Ahorro frente a remediación de brechas de datos |
| Disponibilidad de parche temporal | Inexistente (Sin workaround oficial) | No aplicable (Parche nativo integrado) | Obliga a despliegue de nueva imagen de contenedor |
El coste operativo de no actualizar trasciende la interrupción del servicio. En una arquitectura de agentes corporativa, Langflow almacena cadenas de conexión a almacenes vectoriales, credenciales administrativas de bases de datos y tokens de facturación de proveedores de modelos fundacionales. La toma de control del contenedor otorga acceso lateral inmediato a la red interna donde residen las bases de conocimiento de la empresa.
Nivel de autorización por defecto en peticiones externas sin credenciales
Protocolo de contingencia inmediata y aislamiento perimetral para entornos de producción
Las organizaciones que ejecutan Langflow en clústeres de Kubernetes, instancias virtuales o servicios gestionados de contenedores deben aplicar un plan de contención estructurado en tres fases operativas. La ausencia de parches paliativos convierte la actualización en una tarea crítica que debe completarse sin demora.
1. Aislamiento de red y corte de tráfico entrante
- Restricción de ingreso perimetral: Bloquee de inmediato cualquier regla de firewall o controlador de ingreso (Ingress) que exponga los puertos de Langflow (habitualmente el puerto 7860) a direcciones IP públicas.
- Filtrado del endpoint MCP: Si la aplicación debe comunicarse con otros agentes, restrinja el tráfico del protocolo MCP mediante túneles mTLS o listas de control de acceso privadas dentro de la VPC corporativa.
- Revocación preventiva de credenciales: Asuma que toda instancia expuesta con
LANGFLOW_AUTO_LOGINactivo pudo haber sido inspeccionada. Rote todas las claves de API de OpenAI, Anthropic, Cohere y tokens de bases de datos vectoriales configurados en los flujos existentes.
Procedimiento técnico obligatorio para equipos de DevOps y SecOps
Cerrar acceso público al puerto 7860 y restringir el endpoint MCP en el balanceador.
Actualizar la imagen base de contenedor a langflow:1.13.0 y verificar arranque limpio.
Regenerar API keys de modelos y credenciales de bases de datos alojadas en los flujos.
2. Actualización de dependencias y despliegue del contenedor
La actualización debe aplicarse directamente sobre el entorno de ejecución eliminando versiones intermedias vulnerables:
- Despliegues en contenedores Docker: Actualice los manifiestos de Docker Compose o pods de Kubernetes fijando la etiqueta exacta de la imagen oficial:
langflowai/langflow:1.13.0. Evite el uso de la etiqueta mutable:latest. - Instalaciones locales con gestores de paquetes: Si el entorno ejecuta la plataforma sobre Python directamente, fuerce la actualización mediante el gestor del sistema:
pip install --upgrade langflow>=1.13.0
- Auditoría de variables de entorno: Verifique que el archivo de configuración
.envno fuerce manualmente el valorLANGFLOW_AUTO_LOGIN=True. Defina de forma imperativa usuarios y contraseñas robustos para el panel administrativo mediante las directivas de autenticación estándar del framework.
Cualquier organización que mantenga servidores con Langflow expuestos sin autenticación formal debe ejecutar este procedimiento de contingencia durante la presente ventana de mantenimiento. La proliferación de módulos funcionales en herramientas de explotación automatizada sitúa el margen de respuesta defensiva en cuestión de horas.