Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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-33017-Lab — Laboratorio reproducible para CVE-2026-33017, una RCE no autenticada en Langflow. Incluye un servicio vulnerable dockerizado y un PoC de mínimo impacto que demuestra la ejecución de código a través del endpoint público de build. | Kitploit
Herramientas/GitHubGitHub/rootdirective-sec/cve-2026-33017-lab
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPapers e InvestigaciónAprendizaje y EducaciónLabs y Práctica
GitHubrootdirective-sec/cve-2026-33017-lab

CVE-2026-33017-Lab

Laboratorio reproducible para CVE-2026-33017, una RCE no autenticada en Langflow. Incluye un servicio vulnerable dockerizado y un PoC de mínimo impacto que demuestra la ejecución de código a través del endpoint público de build.

Ver Repositorio
hace 5 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 →
Compartir

CVE-2026-33017 — Laboratorio de RCE no autenticado en Langflow

Resumen Ejecutivo

CVE-2026-33017 es una vulnerabilidad de Ejecución Remota de Código (RCE) no autenticada en Langflow donde un endpoint público de build acepta datos de flujo controlados por el atacante, permitiendo que código de componentes personalizados se ejecute en el servidor.

En este laboratorio, el flujo de validación es:

  1. Obtener un token de acceso a través del flujo de auto-login
  2. Crear un nuevo flujo PUBLIC
  3. Enviar código de componente controlado por el atacante al endpoint público de build
  4. Recibir un job_id
  5. Consultar el resultado a través de la API de eventos de build
  6. Leer el objeto de prueba directamente desde la salida del componente

La prueba se obtiene directamente a través del mecanismo de eventos de la API de Langflow, haciendo que el resultado sea observable a través de la propia interfaz del sistema.


Alcance de Este Repositorio

Este documento presenta un laboratorio solo-vulnerabilidad.

Actualmente, docker compose contiene solo un servicio: , porque este proyecto sigue un enfoque de y evita entornos parcheados que no se basen en un artefacto oficial corregido.

vuln
solo artefactos reales

Comportamiento Verificado en Este Laboratorio

El siguiente comportamiento ha sido verificado en este laboratorio:

  • Una instancia vulnerable de Langflow se ejecuta en http://localhost:7861
  • El endpoint de versión devuelve 1.8.1
  • Se puede crear un flujo público
  • build_public_tmp devuelve un job_id
  • El PoC puede continuar consultando eventos
  • El objeto de prueba se devuelve a través de la API
  • El código controlado por el atacante se ejecuta dentro del runtime de Langflow

Ejemplo de objeto de prueba:

root@kitploit:~
{
  "canary": "lf33017-c14fc1c9",
  "id_output": "uid=1000(user) gid=0(root) groups=0(root)",
  "whoami": "user",
  "hostname": "155aa3fd5e2a",
  "cwd": "/app",
  "python_version": "3.12.12"
}

La evidencia clave es:

  • id_output
  • whoami
  • hostname
  • cwd
  • python_version

La información anterior muestra que el código controlado por el atacante se ejecutó realmente en el lado del servidor.


Estructura del Repositorio

root@kitploit:~
.
├── docker-compose.yml
├── vuln/
│   └── Dockerfile
├── poc/
│   └── poc.py
├── README.md
└── .gitignore

Requisitos

  • Linux o macOS
  • Docker Desktop o Docker Engine
  • Docker Compose v2
  • Python 3

Descripción de Servicios

vuln

  • Instancia vulnerable de Langflow
  • Puerto vinculado: 7861 -> 7860
  • Se utiliza para reproducir CVE-2026-33017 en localhost

Cómo Funciona la Vulnerabilidad

Esta vulnerabilidad existe porque el endpoint público de build de Langflow acepta definiciones de flujo proporcionadas por el usuario, aunque el endpoint ya esté diseñado para flujos públicos. Cuando un atacante envía una definición de nodo que contiene código de componente personalizado, el sistema pasa ese código a la ruta de build del flujo, lo que finalmente resulta en la ejecución de código en el servidor.

El PoC de este proyecto utiliza un componente personalizado que devuelve un objeto de prueba en su salida para demostrar que el código controlado por el atacante se ejecuta realmente.


Diseño del PoC

El PoC de este proyecto está diseñado para ser de mínimo daño y se centra en una prueba claramente observable a través de la API. Su flujo de trabajo es el siguiente:

  1. Esperar a que Langflow esté listo
  2. Llamar al endpoint de auto-login para obtener un token
  3. Crear un flujo PUBLIC
  4. Enviar código de componente personalizado al endpoint público de build
  5. Recibir un job_id
  6. Consultar la API de eventos de build
  7. Analizar el objeto de prueba desde el payload del evento

Este PoC no cubre:

  • Abrir una shell
  • Realizar una conexión inversa
  • Establecer persistencia
  • Extraer secretos
  • Usar una webshell

Ejecutar el Laboratorio

1) Iniciar el servicio vulnerable

root@kitploit:~
docker compose up -d --build

2) Verificar el endpoint de versión

root@kitploit:~
curl -i http://localhost:7861/api/v1/version

3) Ejecutar el PoC

root@kitploit:~
python3 poc/poc.py --base-url http://localhost:7861 --artifact-dir ./artifacts/vuln

Salida Esperada

Cuando el PoC tiene éxito, la salida se verá así:

root@kitploit:~
[+] http://localhost:7861 ready (version=1.8.1)

=== TARGET: vuln ===
Base URL : http://localhost:7861
Version  : 1.8.1
Flow ID  : <uuid>
HTTP     : 200
Job ID   : <uuid>
Canary   : lf33017-xxxxxxxx
Events   : artifacts/vuln/events-<job_id>.ndjson
Polls    : 2

[+] Proof observed through the Langflow API events endpoint:
{
  "canary": "lf33017-xxxxxxxx",
  "id_output": "uid=1000(user) gid=0(root) groups=0(root)",
  "whoami": "user",
  "hostname": "<container-hostname>",
  "cwd": "/app",
  "python_version": "3.12.x"
}

[+] Vulnerable behavior observed

El archivo artifacts/vuln/events-<job_id>.ndjson almacena los datos de eventos sin procesar para depuración adicional.


Qué Demuestra el PoC Actual

Este PoC demuestra que:

  • Un atacante puede invocar el flujo público de build
  • El código controlado por el atacante se ejecuta en el servidor de Langflow
  • El contexto de ejecución se devuelve a través de la API
  • El impacto real es la ejecución de código no autenticada

Este PoC no pretende demostrar persistencia ni post-explotación avanzada y mantiene el impacto en el nivel mínimo necesario para validar la vulnerabilidad.


Impacto

Según este laboratorio, el impacto demostrado es:

  • Un atacante no autenticado puede ejecutar código Python en el servidor de Langflow
  • Un atacante puede acceder al contexto de ejecución del proceso
  • Un atacante puede ejecutar comandos del sistema de una sola vez
  • Un atacante puede acceder al directorio de trabajo y a los metadatos del runtime

Por Qué No Hay un Servicio Parcheado

Este repositorio no incluye un servicio parcheado por diseño.

Su alcance se limita a reproducir el comportamiento vulnerable en un artefacto upstream real. Un lado parcheado solo se añade cuando existe un artefacto oficial corregido claramente verificable disponible del proveedor o del proyecto upstream.

Por esa razón, este repositorio evita deliberadamente:

  • construir una imagen local para simular una versión corregida,
  • modificar la fuente de la imagen para imitar el comportamiento del parche, o
  • añadir scripts auxiliares que crearían la apariencia de una comparación vulnerable-versus-parcheado sin un artefacto upstream parcheado auténtico.

Esto mantiene el laboratorio con un alcance limitado y técnicamente honesto. En lugar de presentar una configuración lado a lado artificial, el repositorio se centra en tres cosas:

  • comportamiento vulnerable reproducible,
  • una prueba de concepto transparente, y
  • documentación que se mantiene alineada con los artefactos upstream reales.

En la práctica, esto hace que el repositorio sea más adecuado para:

  • reproducción de vulnerabilidades,
  • análisis técnico y soporte de informes, y
  • uso en portafolios donde la reproducibilidad y la credibilidad importan más que un entorno parcheado sintético.

Limpieza

root@kitploit:~
docker compose down -v

Notas de Seguridad

Este laboratorio está diseñado para pruebas solo en localhost.

Requisitos de uso:

  • Úselo solo en su propio entorno
  • No modifique el PoC para convertirlo en una webshell o mecanismo de persistencia
  • No incluya tokens reales ni secretos reales en el repositorio
  • Si se añade un lado parcheado en el futuro, debe usar solo un artefacto oficial corregido
Descargar herramienta