CVE-2026-33707: qué sistemas afecta y cómo parchear

La vulnerabilidad crítica Chamilo LMS identificada como CVE-2026-33707 representa un fallo de diseño grave en el núcleo del sistema de autenticación de esta popular plataforma de aprendizaje. Con una puntuación CVSS de 9.4, este defecto permite a un actor malicioso, sin credenciales previas, generar el token de restablecimiento de contraseña de cualquier usuario con solo conocer su dirección de correo electrónico, logrando así el secuestro completo de la cuenta. Analizamos en detalle su impacto técnico, el alcance y, lo más crucial, los pasos inmediatos para parchear y mitigar este riesgo severo antes de que sea explotado de forma masiva.

📋 Ficha técnica

CVE ID CVE-2026-33707
Severidad (CVSS) 9.4 – CRÍTICA
Vector CVSS CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
Productos afectados Chamilo LMS (versiones anteriores a 1.11.38 y 2.0.0-RC.3)
Exploit público No
Fecha publicación 10 de abril de 2026
⚠️ ALERTA DE SEGURIDAD: Este fallo crítico (CVSS 9.4) es trivial de explotar sin herramientas especializadas. Se debe aplicar el parche de forma inmediata para evitar la toma de control masiva de cuentas de estudiantes, profesores y administradores.

¿Qué es vulnerabilidad crítica Chamilo LMS y por qué es relevante?

Puntos clave que debes conocer sobre esta vulnerabilidad crítica

  • Vector de ataque remoto: Cualquier atacante con acceso a internet puede explotar esta falla sin necesidad de credenciales.
  • Mecanismo de explotación predecible: El token de restablecimiento se genera con un hash SHA1 del email, sin aleatoriedad ni expiración.
  • Ausencia de limitación de tasa (rate limiting): Permite a un atacante probar tokens de forma ilimitada sin ser bloqueado.
  • Impacto directo en la confidencialidad e integridad: Conduce al robo de credenciales y a la modificación no autorizada de datos del curso y calificaciones.
  • Parche disponible: Las versiones 1.11.38 y 2.0.0-RC.3 corrigen completamente el fallo.

Sistemas y versiones afectadas por el fallo de seguridad

La vulnerabilidad crítica Chamilo LMS afecta a todas las instalaciones basadas en ramas de desarrollo principales que no han aplicado los commits de seguridad específicos. A continuación, detallamos el alcance exacto.

Producto Versiones vulnerables Versión parcheada
Chamilo LMS (rama 1.11.x) Todas las versiones anteriores a 1.11.38 1.11.38 y superiores
Chamilo LMS (rama 2.0.x, candidata a lanzamiento) Todas las versiones anteriores a 2.0.0-RC.3 2.0.0-RC.3 y superiores

Si vuestra plataforma se encuentra en alguna de las versiones listadas como vulnerables, estáis expuestos. La recomendación es verificar la versión instalada accediendo al panel de administración o revisando el archivo main/inc/conf/configuration.php.

Vista de un servidor en un centro de datos, donde se alojan plataformas educativas como Chamilo LMS.
Vista de un servidor en un centro de datos, donde se alojan plataformas educativas como Chamilo LMS. — Foto: Anastassia Anufrieva vía Unsplash

Análisis técnico del fallo en el mecanismo de restablecimiento

El núcleo del problema reside en la función generate_password_reset_token(). En las versiones vulnerables, esta función generaba el token de forma determinista usando únicamente el hash SHA1 de la dirección de correo electrónico del usuario: sha1($email). Este diseño incumple múltiples principios básicos de seguridad:

  1. Falta de entropía: Al no incluir un componente aleatorio (como un nonce o una marca de tiempo), el token es predecible y reproducible por cualquier persona que conozca el email, un dato que a menudo es público o fácil de obtener en entornos educativos.
  2. Ausencia de caducidad: El token generado no tenía fecha de expiración, por lo que una vez calculado, era válido de por vida hasta que el usuario cambiaba su contraseña por otros medios.
  3. No hay rate limiting: El endpoint de restablecimiento no implementaba límites de intentos, facilitando los ataques por fuerza bruta o la enumeración de cuentas válidas.

Un atacante solo necesitaría acceder a la URL estándar de restablecimiento (por ejemplo, https://[vuestra-instancia]/main/auth/reset_password.php?token=[sha1(email)]) con el token precalculado para redirigir la contraseña de la víctima a un correo bajo su control.

Cómo parchear Chamilo LMS: guía paso a paso

Aplicar el parche es la única acción remediadora completa. El proceso varía ligeramente según el método de instalación original (Git, paquete descargado, etc.). Aquí detallamos el flujo para la mayoría de casos.

Para instalaciones gestionadas con Git (recomendado)

Si instalasteis Chamilo LMS clonando su repositorio Git, la actualización es directa. Acceded al directorio raíz de la instalación desde la terminal y ejecutad:

Terminal de línea de comandos mostrando la ejecución de un comando de actualización de Git para aplicar el parche.
Terminal de línea de comandos mostrando la ejecución de un comando de actualización de Git para aplicar el parche. — Foto: Bernd 📷 Dittrich vía Unsplash
# Primero, verificáis la rama actual.
git branch
# Si estáis en la rama 1.11.x:
git pull origin 1.11.x
# Si estáis en una rama 2.0.x (por ejemplo, 2.0.0-RC2):
git fetch origin --tags
git checkout 2.0.0-RC.3
# Tras la actualización de código, ES CRÍTICO ejecutar el script de actualización de la base de datos:
php main/inc/upgrade.php

Para instalaciones desde paquete comprimido (ZIP/Tar.gz)

Para instalaciones manuales, debéis descargar la nueva versión parcheada desde el sitio oficial de Chamilo, hacer una copia de seguridad completa y luego reemplazar los archivos.

  1. Hacer una copia de seguridad completa: Copiad la base de datos y todos los archivos del directorio de instalación. No saltéis este paso.
  2. Descargar la versión parcheada: Obtened la versión 1.11.38 o 2.0.0-RC.3 desde el repositorio oficial en GitHub.
  3. Descomprimir y reemplazar archivos: Subid los nuevos archivos al servidor, sobrescribiendo los antiguos, excepto el directorio app/cache/ y el archivo de configuración main/inc/conf/configuration.php.
  4. Ejecutar el script de actualización: Navegad en vuestro navegador a https://[vuestra-instancia]/main/inc/upgrade.php y seguid las instrucciones para actualizar el esquema de la base de datos si es necesario.

Medidas adicionales de mitigación inmediata

Si, por alguna razón crítica, no podéis aplicar el parche de forma inmediata, estas medidas de mitigación pueden reducir temporalmente la superficie de ataque, aunque no eliminan la vulnerabilidad de raíz.

Implementar un Web Application Firewall (WAF) con reglas específicas

Configurad las reglas en vuestro WAF (como ModSecurity, Cloudflare WAF o el de vuestro hosting) para bloquear o limitar drásticamente las peticiones a la ruta /main/auth/reset_password.php. Podéis establecer un límite de tasa muy estricto (por ejemplo, 3 intentos por IP cada hora) y monitorizar los logs en busca de actividad anómala.

Diagrama de arquitectura de red con un firewall destacado, ilustrando las medidas de mitigación perimetral.
Diagrama de arquitectura de red con un firewall destacado, ilustrando las medidas de mitigación perimetral. — Foto: Shubham Dhage vía Unsplash

Restringir el acceso a la funcionalidad de restablecimiento

Si vuestra plataforma es de uso interno (por ejemplo, en una red universitaria), considerad restringir el acceso a la página de restablecimiento de contraseña mediante reglas de firewall a nivel de red, permitiéndolo solo desde rangos de IP internos conocidos. Esto se puede hacer en el archivo .htaccess de Apache:

# Ejemplo para restringir acceso a reset_password.php a una IP específica
<Files "reset_password.php">
    Order Deny,Allow
    Deny from all
    Allow from 192.168.1.0/24 # Sustituid por vuestra red interna
</Files>

Auditoría de cuentas y monitorización proactiva

Implementad una monitorización activa de los logs de autenticación y de los cambios de contraseña en la base de datos. Cualquier cambio de contraseña que no venga precedido de una solicitud legítima del usuario desde el interfaz habitual debe ser considerado una posible explotación. Revisad también las cuentas de administrador y profesor en busca de actividad inusual.

✅ Lista de verificación post-parche:

  • Confirmar que la versión en main/inc/conf/configuration.php es 1.11.38 o 2.0.0-RC.3.
  • Verificar que el script de actualización de base de datos (upgrade.php) se ejecutó sin errores.
  • Probar el flujo de «¿Olvidó su contraseña?» con una cuenta de prueba para asegurar que el nuevo token (ahora aleatorio y con expiración) funciona correctamente.
  • Consultar el advisory oficial en GitHub para confirmar que no hay pasos adicionales: GHSA-f27g-66gq-g7v2.

El panorama de amenazas tras esta vulnerabilidad crítica

Aunque a día de hoy no se reporta la explotación activa en la naturaleza de la vulnerabilidad crítica Chamilo LMS, su naturaleza crítica y la facilidad de explotación la convierten en un objetivo prioritario para grupos de ataque. En el ecosistema educativo, donde plataformas como Chamilo gestionan datos sensibles (calificaciones, información personal, contenido pedagógico), un ataque exitoso podría derivar en fugas de datos, manipulación de notas o incluso en un punto de entrada para un compromiso mayor de la red institucional. La ciberinteligencia sugiere que defectos de este tipo en sistemas de gestión de aprendizaje (LMS) son rápidamente incorporados a scanners automatizados, por lo que la ventana de respuesta es reducida.

Referencias y recursos oficiales


¿Tu organización está preparada ante las ciberamenazas?

En Iberia Intelligence combinamos Ciberinteligencia y Automatización con IA para anticipar amenazas, proteger activos digitales y blindar la operativa de empresas e instituciones hispanohablantes.

→ Conoce nuestros servicios y da el primer paso

Deja un comentario