CVE-2025-3568
Resumen
Se ha identificado una vulnerabilidad de seguridad en Krayin CRM 2.1.0 que permite a un usuario con pocos privilegios escalar privilegios engañando a un administrador para que abra un archivo SVG malicioso. Este exploit aprovecha Cross-Site Request Forgery (CSRF) y Cross-Site Scripting (XSS) a través de SVG para:
- Robar el token XSRF del administrador de las cookies.
- Cambiar la contraseña del administrador sin conocer la contraseña actual mediante un endpoint de API sin protección.
Esto podría conducir a la toma completa de la cuenta de administrador y a fugas de datos.
Detalles técnicos
Tipo de vulnerabilidad
- CSRF + XSS mediante carga de archivos SVG (Ataque almacenado del lado del cliente)
- Control de acceso roto (Cambio de contraseña sin la contraseña actual)
Componente afectado
- Módulo de gestión de usuarios (
/admin/settings/users/edit/[ID])
- Manejo de carga de archivos/adjuntos de correo (SVG con JavaScript incrustado)
Flujo del ataque
- El atacante (usuario con pocos privilegios) envía un correo electrónico con un adjunto SVG malicioso a un administrador.
- El administrador abre el archivo SVG en una nueva pestaña.
- El JavaScript dentro del SVG se ejecuta, extrayendo la cookie
XSRF-TOKEN del administrador.
- Se envía una solicitud POST falsificada al endpoint de gestión de usuarios del CRM, cambiando la contraseña del administrador.
- El atacante obtiene acceso total de administrador utilizando la nueva contraseña.
Prueba de concepto (PoC)
- Grabación de pantalla del exploit en acción:
https://github.com/user-attachments/assets/36f5f5ec-d7f1-4ea8-aa78-f1be396e13d3
- Archivo SVG malicioso: svgxss.svg
Impacto
- Toma completa de la cuenta de administrador: El atacante puede restablecer la contraseña del administrador e iniciar sesión.
- Fuga de datos: Acceso a datos confidenciales del CRM (información de clientes, transacciones, etc.).
- Persistencia: El atacante puede crear cuentas de backdoor o modificar la configuración del sistema.
Análisis de causa raíz
Falta de saneamiento de SVG
- El CRM permite archivos SVG con JavaScript incrustado, lo que habilita XSS.
Lógica de cambio de contraseña defectuosa
- El endpoint
/admin/settings/users/edit no exige la verificación de la contraseña actual.
Conclusión
Esta vulnerabilidad representa un riesgo crítico para la seguridad del CRM, ya que permite a los atacantes secuestrar cuentas de administrador con un esfuerzo mínimo. Se requiere una acción inmediata para corregir el problema y prevenir la explotación.
Referencias