IDOR in Prospero Flow CRM allows deletion of other users notifications
Description
Authorization Bypass Through User-Controlled Key (CWE-639) in DeleteNotificationController (app/Http/Controllers/Notification/DeleteNotificationController.php), exposed at GET /notification/delete/{id}, in Prospero Flow CRM <5.5.1, which allows any authenticated user, regardless of company or permissions, to delete notifications belonging to any other user in the system, because the delete() method retrieves the record with Notification::findOrFail($id) and deletes it without validating user_id or company_id ownership, unlike the sibling SetNotificationReadAjaxController, which correctly scopes lookups by Auth::id(). Because notification identifiers are sequential, an attacker can iterate over IDs to systematically delete notifications belonging to any user, denying them visibility of ticket alerts, task assignments, and other system events.
Vulnerability type (CWE)
CWE-639: Authorization Bypass Through User-Controlled Key
Affected versions
Prospero Flow CRM before 5.5.1 (all versions prior to 5.5.1). The flaw has been present since 1.0.0 and was fixed in 5.5.1 (first tagged release including it: v5.5.3). Default status: unaffected.
Score (CVSS 4.0)
Medium
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
Solution
Upgrade to version 5.5.1 or higher.
Patch
Commit eaee2ae0
Credits
- Dario Rivas Quero - finder
- Cristian Fernandez Cornejo - analyst
- Xoán M. Otero Jorge - analyst
- Secur0 CNA - coordinator
- Gustavo Novaro - remediation developer Discovery source: External Official record: CVE-2026-59240