API-интерфейс плагина Grav (getgrad/grad-plugin-api) до версии 1.0.13 не обеспечивает соблюдение ограничений области действия ключей API в InvitationsController. Решения по удалению супер-групп и группам принятия принимаются на основе простой проверки isSuperAdmin(), а не проверки разрешений с учетом области действия, поэтому ключ API с наименьшими привилегиями (с областью действия api.users.write), созданный в супер-учетной записи, может создать запись приглашения, содержащую флаги доступа супер-администратора. Когда приглашение принимается, эти флаги дословно записываются в новую учетную запись, что приводит к повышению привилегий до полностью контролируемой суперучетной записи.
Показать оригинальное описание (EN)
Grav Plugin API (getgrav/grav-plugin-api) before 1.0.13 fails to enforce API-key scope caps in InvitationsController. The strip-super and accept-groups decisions are gated on a bare isSuperAdmin() check rather than a scope-aware permission check, so a least-privilege API key (scoped to api.users.write) minted on a super account can create an invitation record containing super-admin access flags. When the invitation is accepted, those flags are written verbatim to the new account, resulting in privilege escalation to a fully controlled super account.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Getgrav Grav
cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
|
— |
1.0.13
|