CVE-2025-67730 – Cross-Site Scripting (XSS) almacenado
Resumen
ID de CVE: CVE-2025-67730
Tipo de vulnerabilidad: Cross-Site Scripting (XSS) almacenado
Gravedad: Media–Alta (depende del contexto)
Esta vulnerabilidad permitía a usuarios autenticados inyectar HTML y JavaScript maliciosos en los campos de descripción de los formularios de Job, Course y Batch. El payload inyectado se ejecutaba automáticamente en el navegador de cualquier usuario que posteriormente visualizara el Job, Course o Batch afectado.
Componentes Afectados
- Campo de descripción de Job
- Campo de descripción de Course
- Campo de descripción de Batch
Impacto
- Ejecución de JavaScript arbitrario en los navegadores de las víctimas
- Secuestro de sesión
- Robo de credenciales
- Toma de control de la cuenta (según el nivel de privilegios)
- Manipulación del DOM y phishing
Debido a que el payload está almacenado, el ataque persiste y afecta a todos los usuarios que visualizan el contenido comprometido.
Escenario de Ataque
- El atacante inicia sesión con una cuenta de usuario válida.
- El atacante crea o edita un Job, Course o Batch.
- Se inserta JavaScript malicioso en el campo de descripción.
- El payload se guarda en la base de datos.
- Cualquier usuario que abra la página afectada activa el payload.
Prueba de Concepto (PoC)
">
Pasos para Reproducir:
- Inicia sesión como cualquier usuario autenticado.
- Navega a la página de creación o edición de Job / Course / Batch.
- Pega el payload en el campo de descripción.
- Guarda el formulario.
- Abre el Job / Course / Batch creado.
- El JavaScript se ejecuta en el navegador.
Causa Raíz
- Sanitización de HTML del lado del servidor ausente o insuficiente
- Renderizado no seguro de la entrada proporcionada por el usuario
- Falta de codificación de salida en las plantillas
Corrección / Mitigación
Parche Oficial
- Corregido en la versión:
2.42.0
Mejoras de Seguridad Implementadas
- Sanitización adecuada de HTML en la entrada
- Codificación segura de salida antes del renderizado
- Restricción de etiquetas y atributos ejecutables
Buenas Prácticas Recomendadas
- Sanitizar siempre la entrada del usuario en el lado del servidor
- Aplicar codificación de salida según el contexto (HTML, JS, URL)
- Usar un sanitizador de HTML de confianza (p. ej., DOMPurify)
- Implementar una Política de Seguridad de Contenido (CSP)
Cronología
- Reportado por: Dharan Raghunathan
- Estado: Corregido
- Versión del parche: Versión 2.42.0
Agradecimientos
Este problema fue divulgado de manera responsable por Dharan Raghunathan.
Referencias
Aviso Legal
Este documento es solo para fines educativos y de seguridad defensiva.