Конкретные CMS версий 9.2.0–9.5.2 содержат недостающую уязвимость авторизации в конечной точке списка групп REST API. Метод listGroups() в конкретном/src/Api/Controller/Groups.php регистрирует обратный вызов средства проверки разрешений, который безоговорочно возвращает true, поэтому при возврате коллекции группы авторизация для каждого объекта (узла дерева) не применяется. Аутентифицированный пользователь, чей токен API содержит область groups:read, может вызвать GET /ccm/api/1.0/groups и получить каждую группу на сайте независимо от разрешений на просмотр этих групп, раскрывая структуру групп организации, роли и иерархию доступа.
Команда безопасности Concrete CMS присвоила этой уязвимости оценку CVSS v4.0 6,0 с вектором CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N. Спасибо Уинстону Крукеру за репортаж.
Показать оригинальное описание (EN)
Concrete CMS 9.2.0 to 9.5.2 contain a missing authorization vulnerability in the REST API Groups list endpoint. The listGroups() method in concrete/src/Api/Controller/Groups.php registers a permissions checker callback that unconditionally returns true, so no per-object (tree node) authorization is enforced when the group collection is returned. An authenticated user whose API token carries the groups:read scope can call GET /ccm/api/1.0/groups and receive every group on the site regardless of the view permissions on those groups, disclosing the organization's group structure, roles, and access hierarchy. The Concrete CMS security team gave this vulnerability a CVSS v4.0 score of 6.0 with vector CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N. Thanks Winston Crooker for reporting.
Характеристики атаки
Последствия
Строка CVSS v4.0