IDOR en Prospero Flow CRM permite eliminar notificaciones de otros usuarios
Descripción
Authorization Bypass Through User-Controlled Key (CWE-639) en DeleteNotificationController (app/Http/Controllers/Notification/DeleteNotificationController.php), expuesto en GET /notification/delete/{id}, en Prospero Flow CRM <5.5.1, que permite a cualquier usuario autenticado, con independencia de su empresa o permisos, eliminar notificaciones pertenecientes a cualquier otro usuario del sistema, debido a que el método delete() obtiene el registro con Notification::findOrFail($id) y lo elimina sin validar la propiedad por user_id ni por company_id, a diferencia del controlador análogo SetNotificationReadAjaxController, que sí acota la búsqueda por Auth::id(). Dado que los identificadores de notificación son secuenciales, un atacante puede iterar sobre los IDs para eliminar de forma sistemática notificaciones de cualquier usuario, privándole de la visibilidad de avisos de tickets, asignaciones de tareas y otros eventos del sistema.
Tipo de vulnerabilidad (CWE)
CWE-639: Authorization Bypass Through User-Controlled Key
Versiones afectadas
Prospero Flow CRM anteriores a 5.5.1 (todas las versiones anteriores a la 5.5.1). El fallo está presente desde la versión 1.0.0 y se corrigió en la 5.5.1 (primera release etiquetada que lo incluye: v5.5.3). 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:N/VI:L/VA:N/SC:N/SI:N/SA:N
Solución
Actualizar a la versión 5.5.1 o superior.
Parche
Commit eaee2ae0
Créditos
- Dario Rivas Quero - 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-59240