Weaviate < 1.38.0 - Privilege Escalation via Unchecked Permissions in RBAC Role Assignment
Description
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.
Affected products
1Patches
Vulnerability mechanics
References
4- github.com/weaviate/weaviate/commit/2c75f6fb217631f7751c4b2a7d37a488cef13edbmitrepatch
- www.vulncheck.com/advisories/weaviate-privilege-escalation-via-unchecked-permissions-in-rbac-role-assignmentmitrethird-party-advisory
- github.com/weaviate/weaviate/pull/11493mitreissue-tracking
- github.com/weaviate/weaviate/releases/tag/v1.38.0mitrerelease-notes
News mentions
0No linked articles in our index yet.