Falta de autorización en Prospero Flow CRM permite a usuarios con pocos privilegios leer todas las cuentas bancarias
Descripción
Missing Authorization (CWE-862) en BankAccountListController (app/Http/Controllers/Api/BankAccount/BankAccountListController.php), expuesto en GET /api/bank-account, en Prospero Flow CRM <5.5.3, que permite a un atacante remoto y autenticado con pocos privilegios (por ejemplo, el rol "Usuario") leer todas las cuentas bancarias pertenecientes a su empresa enviando una petición autenticada al endpoint, debido a que la ruta de la API está protegida únicamente por el middleware auth:api y no realiza ninguna comprobación de permisos (a diferencia de la ruta web equivalente, que exige can('read bank')), y el manejador obtiene los registros con Account::where('company_id', Auth::user()->company_id)->get(), aplicando solo un filtrado por empresa y sin ninguna comprobación de rol o permiso antes de devolver los datos. Esto resulta en la divulgación no autorizada de información bancaria sensible (IBAN, SWIFT/BIC e identificadores de cuenta) a usuarios que no deberían tener acceso a ella.
Tipo de vulnerabilidad (CWE)
CWE-862: Missing Authorization
Versiones afectadas
Prospero Flow CRM posteriores a 4.6.0 y anteriores a 5.5.3. El endpoint vulnerable se introdujo después de la versión 4.6.0 y se corrigió antes de la etiqueta 5.5.3, por lo que ninguna versión etiquetada se distribuyó vulnerable. Estado por defecto: no afectado.
Puntuación (CVSS 4.0)
Alta
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Solución
Actualizar a la versión 5.5.3 o superior.
Parche
Commit 57bb5721
Créditos
- David Moreno Urbanos - finder (descubridor)
- YoyoDavelion - finder (descubridor)
- Xoán M. Otero Jorge - analyst (analista)
- Cristian Fernández Cornejo - analyst (analista)
- Secur0 CNA - coordinator (coordinador)
- Gustavo Novaro - remediation developer (desarrollador de la corrección) Origen del descubrimiento: Externo Registro oficial: CVE-2026-59235