Admidio — это решение для управления пользователями с открытым исходным кодом. `modules/categories.php` проверяет, что предоставленный параметр `type` (`ANN`, `EVT`, `ROL`, `USF`, …) соответствует модулю, которым администрирует субъект. Последующая проверка «может ли я редактировать эту конкретную категорию» в строках 56-61 является мертвым кодом, поскольку она сравнивает `$getType` (код типа категории) с именами режимов (`edit`/`save`/`delete`); условие постоянно ложно, поэтому `$category->isEditable()` никогда не вызывается. До версии 5.0.10 случаи переключения «delete», «sequence» и «save» загружают категорию по предоставленному UUID и действуют на нее без повторной проверки принадлежности категории к модулю, администрируемым актером.
Таким образом, пользователь, обладающий только одним правом администратора модуля, может уничтожить или изменить порядок пустых категорий, принадлежащих *другим* модулям — например, администратор объявлений может удалить категории ролей, категории полей профиля или категории веб-ссылок, на которые он не имеет права касаться. Версия 5.0.10 устраняет проблему.
Показать оригинальное описание (EN)
Admidio is an open-source user management solution. `modules/categories.php` checks that the supplied `type` parameter (`ANN`, `EVT`, `ROL`, `USF`, …) corresponds to a module the actor administers. The follow-up "is this specific category editable by me" check at lines 56-61 is dead code because it compares `$getType` (a category-type code) against mode names (`edit`/`save`/`delete`); the condition is permanently false, so `$category->isEditable()` is never invoked. Prior to version 5.0.10, the `delete`, `sequence`, and `save` switch cases load the category by the supplied UUID and act on it without re-checking that the category belongs to a module the actor administers. A user holding only one module-administrator right can therefore destroy or reorder empty categories belonging to *other* modules — for example, an announcements administrator can delete role categories, profile-field categories, or weblink categories that they have no right to touch. Version 5.0.10 fixes the issue.
Характеристики атаки
Последствия
Строка CVSS v3.1