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-35196 — Segundo CVE sigue siendo Ejecución Remota de Código | Kitploit
Herramientas/GitHubGitHub/kx00007/cve-2026-35196
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y Educación
GitHubkx00007/cve-2026-35196

CVE-2026-35196

Segundo CVE sigue siendo Ejecución Remota de Código

Ver Repositorio
hace 2 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-35196 · Chamilo LMS · Inyección de Comandos del SO → RCE


CVE CVSS CWE Auth Type Shell



Investigador: K
Tipo de Divulgación: Divulgación Responsable
Estado: Parcheado
Producto Afectado: Chamilo LMS < 2.0 (Confirmado en v1.11.32)


📋 Resumen de Vulnerabilidad


🔍 Descripción

Existe una vulnerabilidad crítica de Inyección de Comandos del SO en la acción export_all_certificates de main/inc/ajax/gradebook.ajax.php dentro de Chamilo LMS v1.11.32.

La aplicación obtiene un código de curso mediante api_get_course_id(), que lee directamente de $_SESSION['_cid']. Este valor derivado de la sesión se concatena sin sanitizar en una llamada a shell_exec() — sin escapeshellarg(), sin validación de lista blanca, sin aplicación de tipo.

Un atacante que pueda manipular o envenenar la variable _cid de su sesión (a través de envenenamiento de sesión, encadenamiento de IDOR u otras primitivas de manipulación de sesión) puede inyectar metacaracteres de shell arbitrarios y lograr ejecución remota de código completa como el usuario del servidor web (www-data).


🧩 Análisis de Causa Raíz

Archivo Vulnerable: main/inc/ajax/gradebook.ajax.php
Función Vulnerable: export_all_certificates

Cuando un usuario activa la acción export_all_certificates, el script intenta ejecutar un proceso en segundo plano para procesar certificados:

root@kitploit:~
$courseCode = api_get_course_id(); // Retrieves the value from $_SESSION['_cid']
$sessionId = api_get_session_id();
// ...
$commandScript = api_get_path(SYS_CODE_PATH).'gradebook/cli/export_all_certificates.php';
$userList = implode(',', $userList);

// Flaw: Variables like $courseCode are passed directly to the shell without escapeshellarg()
shell_exec("php $commandScript $courseCode $sessionId $categoryId $userList > /dev/null &");

Debido a que la aplicación confía implícitamente en el contenido de las variables de sesión y falla al escaparlas adecuadamente antes de enviarlas al shell del sistema, un atacante con una sesión manipulada puede añadir y ejecutar comandos maliciosos. Por ejemplo, si _cid contiene "; touch /tmp/remote_code_by_k; #", el comando interpretado por el shell bash/sh se convierte en:

root@kitploit:~
php /var/www/chamilo/main/gradebook/cli/export_all_certificates.php ; touch /tmp/remote_code_by_k; # ... > /dev/null &

El shell ejecuta el script CLI, seguido del payload inyectado, e ignora el resto de la cadena de comando prevista.

💣 Prueba de Concepto

  1. Envenenamiento de Sesión: El atacante debe primero influir en la variable $_SESSION['_cid']. Esto puede lograrse encadenando esta falla con una vulnerabilidad de envenenamiento de sesión o manipulando el valor del código de curso a través de un IDOR o manejo inseguro de parámetros en otra parte de la aplicación para actualizar su contexto de sesión.
  2. Inyección de Payload: Establecer la variable de sesión _cid a: "; [COMANDO_MALICIOSO]; #"
  3. Ejecución: Enviar una solicitud GET a: /main/inc/ajax/gradebook.ajax.php?a=export_all_certificates&cat_id=1 con la cookie de sesión envenenada.
  4. Resultado: El servidor ejecuta ciegamente el comando inyectado con los privilegios del usuario de la aplicación web (www-data).

📊 Análisis de Impacto


🛡️ Recomendaciones

  • Aplicar escapeshellarg(): Envolver todas las variables derivadas del usuario (como $courseCode, $sessionId y $userList) con escapeshellarg() de PHP antes de pasarlas a shell_exec() para neutralizar metacaracteres arbitrarios del SO.
  • Validación Estricta de Sesión: Asegurar que las variables almacenadas en el estado de la sesión (por ejemplo, $_SESSION['_cid']) estén tipificadas rígidamente y sanitizadas para que posibles ataques de "Envenenamiento de Sesión" o encadenamiento de IDOR sean bloqueados en el punto de entrada.
  • Aplicar Mínimo Privilegio: Configurar el servicio del servidor web (www-data) con permisos de escritura restrictivos en el sistema de archivos y limitar el acceso de la aplicación a binarios esenciales del shell de Linux para mitigar capacidades posteriores a la explotación.

🧪 Entorno

📎 Referencias

  • Repositorio Oficial de Chamilo LMS
  • CWE-78: Inyección de Comandos del SO
  • OWASP: Inyección de Comandos
  • CVE-2026-29041 — RCE previo de Chamilo (CWE-434, CVSS 8.8) por el mismo investigador

👤 Investigador

root@kitploit:~
Handle  : K
GitHub  : https://github.com/kx00007
Enfoque : Vulnerabilidad RCE del lado del servidor, Caza de CVE, Investigación de Vulnerabilidades, Desarrollo de Exploits
Anterior: CVE-2026-29041 (Chamilo LMS — RCE Autenticado mediante Carga de Archivos)

⚡Intenta Más Duro.

Descargar herramienta
CampoDetalles
ProductoChamilo LMS
Versión Afectada< 2.0 (Confirmado en v1.11.32)
VulnerabilidadInyección de Comandos del SO
CWECWE-78 — Neutralización Incorrecta de Elementos Especiales usados en un Comando del SO
Puntuación CVSSv3.18.8 (ALTA)
VectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Autenticación RequeridaSí (cualquier usuario autenticado con una sesión envenenada)
Tipo de ExploitEjecución Remota de Código Autenticada
Archivo Vulnerablemain/inc/ajax/gradebook.ajax.php
DimensiónImpacto
ConfidencialidadAcceso completo de lectura — código fuente, configuraciones, credenciales de BD, /etc/passwd
IntegridadEscritura arbitraria de archivos, despliegue de webshell, manipulación de base de datos
DisponibilidadInterrupción del servicio, destrucción del sistema de archivos, despliegue de ransomware
AlcanceProceso del servidor web (www-data); potencial de movimiento lateral a través de exposición de credenciales
ComponenteDetalles
SOUbuntu Server (Docker)
Servidor WebApache / Nginx
PHP7.x / 8.x
AppChamilo LMS v1.11.32-v2.0
Shell/bin/sh → bash