
PoC en lenguaje C para emular la vulnerabilidad de path traversal (CVE-2025-5964) en M-Files25.6.14925.0
Autor: Byte Reaper
Telegram: @ByteReaper0
Este repositorio contiene una Prueba de Concepto (PoC) en C para una supuesta vulnerabilidad de Path Traversal en M‑Files versión 25.6.14925.0.
La PoC (archivo exploit.c) intenta leer archivos sensibles (por ejemplo, /etc/passwd) inyectando cargas útiles de traversal en endpoints de la API REST.
No es un exploit confirmado:
Todos los parámetros y endpoints se obtuvieron de documentación pública y OSINT.
No tengo ningún acceso a una instancia con licencia o demo de M‑Files para verificarlo realmente.
Úsalo de forma responsable:
No lo ejecutes contra sistemas que no sean de tu propiedad o para los que no tengas permiso explícito para realizar pruebas.
Este código se proporciona únicamente para investigación y pruebas de seguridad autorizadas.
Contacto:
Si tienes acceso a una instancia funcional de M‑Files 25.6.14925.0 (prueba gratuita o con licencia), ponte en contacto por Telegram para refinar esta PoC:
| Archivo | Descripción |
|---|---|
exploit.c | Código fuente principal de la PoC; envía cargas de traversal a la API REST de M‑Files |
argparse.c | Helper simple para parsear argumentos de línea de comandos |
argparse.h | Cabecera para argparse.c |
README.md | Esta documentación |
Necesitas:
# En Debian/Ubuntu:
sudo apt update && sudo apt install build-essential libcurl4-openssl-dev
# Compilar:
gcc exploit.c argparse.c -o CVE-2025-5964 -lcurl
./CVE-2025-5964 -u <TARGET_URL>
Reemplaza <TARGET_URL> con tu endpoint de M‑Files, por ejemplo:
./CVE-2025-5964 -u http://192.168.0.10
La PoC iterará sobre un conjunto de cargas de traversal contra estos parámetros de consulta:
?q=?o=?d=Muestra cada URL probada, el código de respuesta HTTP (p. ej., 200 o 404) y marca cualquier respuesta que contenga marcadores comunes del sistema de archivos (root❌, /bin/bash, etc.) como "Posible acierto LFI".
Rotación de Agentes
Rota a través de una lista de cadenas User‑Agent realistas para ayudar a evadir filtros simples.
Cargas de Traversal
Varias variantes de ../, con codificación URL y Base64 para maximizar las posibilidades de evasión.
Análisis de Respuesta
Regulación de Peticiones
Un sleep() de 1 segundo entre solicitudes para evitar activar límites de tasa simples o reglas WAF.
payloads[] en exploit.c.agentSend() o agrega llamadas a curl_slist_append().Solo para investigación
Este código está pensado para investigación de seguridad, divulgación responsable y pruebas privadas.
Sin garantía
Se proporciona "tal cual", sin garantía de funcionalidad o seguridad.
Legal
Ejecutar esta PoC contra objetivos no autorizados puede violar leyes. Siempre obtén permiso.
Byte Reaper
Telegram: @ByteReaper0