Плагин Grav API (getgrad/grad-plugin-api) до версии 1.0.13 содержит обход ограничения области действия ключа API в методах create() и update() UsersController. Эти методы обеспечивают ограничение области только для api.users.write, но предоставляют сверхпривилегии шлюза при простой проверке isSuperAdmin(), которая читает access.api.super напрямую, не обращаясь к областям ключа. В результате ключ с областью действия api.users.write, созданный в супер-учетной записи, может установить access.api.super или назначить группу супер-грантов для создания или продвижения полной супер-учетной записи, а затем аутентифицироваться как эта учетная запись для неограниченных административных привилегий.
Показать оригинальное описание (EN)
The Grav API plugin (getgrav/grav-plugin-api) before 1.0.13 contains an API-key scope-cap bypass in UsersController's create() and update() methods. These methods enforce the scope cap only for api.users.write, but gate super-privilege grants on a bare isSuperAdmin() check that reads access.api.super directly without consulting the key's scopes. As a result, an api.users.write-scoped key minted on a super account can set access.api.super or assign a super-granting group to mint or promote a full super account, then authenticate as that account for uncapped administrative privileges.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Getgrav Grav
cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*
|
— |
1.0.13
|