Elusión de autorización en la importación por Excel de Prospero Flow CRM permite inyectar registros en el tenant de otras empresas
Descripción
Authorization Bypass Through User-Controlled Key (CWE-639) en los manejadores de importación de Excel CustomerImport, LeadImport y ProductImport (app/Imports/CustomerImport.php, app/Imports/LeadImport.php, app/Imports/ProductImport.php), accesibles a través de POST /customer/import/excel/save y los endpoints equivalentes de importación de leads y productos, en Prospero Flow CRM <5.14.0, que permite a un atacante remoto y autenticado de cualquier rol o empresa crear registros de clientes, leads y productos dentro del tenant de otra empresa subiendo una hoja de cálculo cuya columna company_id apunta al tenant víctima, debido a que el modelo de importación asigna el valor directamente desde el archivo ('company_id' => $row['company_id']) y no realiza ninguna comprobación de que coincida con la empresa del usuario autenticado, a diferencia de la ruta de importación por CSV, que fuerza $customer->company_id = Auth::user()->company_id. Dado que company_id es un entero incremental, los tenants víctima son fácilmente enumerables. Esto resulta en una inyección de datos entre tenants no autorizada que corrompe los listados, métricas y campañas de otras empresas, sin ninguna referencia al atacante que creó los registros.
Tipo de vulnerabilidad (CWE)
CWE-639: Authorization Bypass Through User-Controlled Key
Versiones afectadas
Prospero Flow CRM anteriores a 5.14.0 (todas las versiones anteriores a la 5.14.0). El fallo está presente desde la versión 1.0.0 y se corrigió en la 5.14.0. Estado por defecto: no afectado.
Puntuación (CVSS 4.0)
Media
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Solución
Actualizar a la versión 5.14.0 o superior.
Parche
Commit bdd6c977
Créditos
- Mario Álvarez Fernández (maalfer) - finder (descubridor)
- Thomas O'Neil Álvarez (thomas.pime) - finder (descubridor)
- Cristian Fernandez Cornejo - analyst (analista)
- Xoán M. Otero Jorge - analyst (analista)
- Secur0 CNA - coordinator (coordinador)
- Gustavo Novaro - remediation developer (desarrollador de la corrección) Origen del descubrimiento: Externo Registro oficial: CVE-2026-59236