Уязвимость связана с небезопасной прямой ссылкой на объект (IDOR) в методе «DeleteNotificationController::delete()» в конечной точке «GET /notification/delete/{id}». Уязвимость позволяет любому авторизованному пользователю, независимо от компании и разрешений, удалять уведомления, принадлежащие любому другому пользователю в системе. Контроллер получает целевую запись с помощью `Notification::findOrFail($id)` и удаляет ее без проверки владения `user_id` или `company_id`, в отличие от родственного `SetNotificationReadAjaxController`, который правильно ограничивает область поиска с помощью `Auth::id()`.
Поскольку идентификаторы уведомлений являются последовательными, злоумышленник может перебирать идентификаторы, чтобы систематически удалять уведомления, принадлежащие любому пользователю, лишая их видимости оповещений о заявках, назначений задач и других системных событий.
Показать оригинальное описание (EN)
The vulnerability involves an Insecure Direct Object Reference (IDOR) in the `DeleteNotificationController::delete()` method at endpoint `GET /notification/delete/{id}`. The flaw allows any authenticated user, regardless of company or permissions, to delete notifications belonging to any other user in the system. The controller retrieves the target 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.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Roskus Prospero_Flow_Crm
cpe:2.3:a:roskus:prospero_flow_crm:*:*:*:*:*:*:*:*
|
1.0.0
|
5.5.1
|