
Linguagem C para PoC que emula a vulnerabilidade de path traversal (CVE-2025-5964) no M-Files25.6.14925.0
Autor: Byte Reaper
Telegram: @ByteReaper0
Este repositório contém uma Prova de Conceito (PoC) em C para uma suspeita vulnerabilidade de Path Traversal no M‑Files versão 25.6.14925.0.
A PoC (arquivo exploit.c) tenta ler arquivos sensíveis (ex.: /etc/passwd) injetando cargas de traversão em endpoints da API REST.
Não é uma exploit confirmada:
Todos os parâmetros e endpoints foram derivados de documentação pública e OSINT.
Eu não tenho acesso a uma instância licenciada ou demo do M‑Files para verificar isso de verdade.
Use com responsabilidade:
Não execute contra sistemas que você não possui ou para os quais não tem permissão explícita para testar.
Este código é fornecido apenas para pesquisa e testes de segurança autorizados.
Contato:
Se você tiver acesso a uma instância funcional do M‑Files 25.6.14925.0 (teste gratuito ou licenciada), entre em contato no Telegram para refinar esta PoC:
| Filename | Description |
|---|---|
exploit.c | Código fonte principal da PoC; envia cargas de traversão para a API REST do M‑Files |
argparse.c | Auxiliar simples de análise de linha de comando |
argparse.h | Cabeçalho para argparse.c |
README.md | Esta documentação |
Você precisa:
# On Debian/Ubuntu:
sudo apt update && sudo apt install build-essential libcurl4-openssl-dev
# Compile:
gcc exploit.c argparse.c -o CVE-2025-5964 -lcurl
./CVE-2025-5964 -u <TARGET_URL>
Substitua <TARGET_URL> pelo endpoint do seu M‑Files, por exemplo:
./CVE-2025-5964 -u http://192.168.0.10
A PoC itera um conjunto de cargas de traversão contra estes parâmetros de consulta:
?q=
?o=
?d=
Ele imprime cada URL testado, o código de resposta HTTP (ex.: 200 ou 404), e sinaliza qualquer resposta que contenha marcadores comuns do sistema de arquivos (root:x:, /bin/bash, etc.) como um “Possível hit de LFI”.
Rotação de User-Agent
Rotaciona por uma lista de strings realistas de User-Agent para ajudar a contornar filtragens ingênuas.
Cargas de Traversão
Uma variedade de variantes de ../, codificadas em URL e Base64 para maximizar a chance de bypass.
Análise de Resposta
200 OK + presença de marcadores de arquivos UNIX ⇒ sinalizado como possível sucesso. Todos os outros códigos de status ainda são registrados para revisão manual.
Limitação de Taxa
Um sleep() de 1 segundo entre as requisições para evitar acionar limites de taxa simples ou regras de WAF.
Adicione mais payloads: edite o array payloads[] em exploit.c.
Cabeçalhos personalizados: estenda agentSend() ou adicione chamadas curl_slist_append().
Divulgação Responsável e Isenção de Responsabilidade
Apenas para Pesquisa
Este código destina-se a pesquisa em segurança, divulgação responsável e testes privados.
Sem Garantia
Fornecido “como está” sem garantia de funcionalidade ou segurança.
Legal
Executar esta PoC contra alvos não autorizados pode violar leis. Sempre obtenha permissão.
Byte Reaper
Telegram: @ByteReaper0