Weaviate до версии 1.38.0 не проверяет, обладает ли участник, выполняющий назначение роли RBAC, разрешениями, предоставленными назначенной ролью. Обработчики AssignRoleToUser и AssignRoleToGroup (POST /authz/users/{id}/assign и /authz/groups/{id}/assign) разрешают только то, что вызывающая сторона может назначать роли целевому пользователю или группе, а не разрешения, содержащиеся в назначенных ролях, в отличие от создания ролей, которое обеспечивает, чтобы пользователь мог создавать только роли с разрешениями, меньшими или равными его собственным. Пользователь, обладающий только делегированным разрешением Assign_and_revoke_users или Assign_and_revoke_groups, может назначить встроенную роль администратора или любую настраиваемую роль с высоким уровнем привилегий себе или другим лицам, что приведет к полному административному контролю над базой данных.
Показать оригинальное описание (EN)
Weaviate before 1.38.0 does not verify that a principal performing an RBAC role assignment holds the permissions granted by the assigned role. The assignRoleToUser and assignRoleToGroup handlers (POST /authz/users/{id}/assign and /authz/groups/{id}/assign) authorize only that the caller may assign roles to the target user or group, not the permissions contained in the assigned roles, unlike role creation which enforces that a user can only create roles with permissions less than or equal to its own. A user holding only the delegated assign_and_revoke_users or assign_and_revoke_groups permission can assign the built-in admin role, or any high-privilege custom role, to itself or others, escalating to full administrative control of the database.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Weaviate Weaviate
cpe:2.3:a:weaviate:weaviate:*:*:*:*:*:*:*:*
|
— |
1.38.0
|