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.
Published: 2026-07-02
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Weaviate versions earlier than 1.38.0 allow a principal to assign RBAC roles without confirming that the principal has the same or greater permissions as the roles being granted. The assignRoleToUser and assignRoleToGroup endpoints only check that the caller can assign roles to a user or group, but do not verify that the caller is authorized for every permission contained in the selected role. This flaw means a user who holds only the "assign_and_revoke_users" or "assign_and_revoke_groups" permission can elevate themselves or another user to the built‑in admin role or any high‑privilege custom role, granting full administrative control over the entire database. The weakness is catalogued as CWE‑266, Privilege Escalation.

Affected Systems

All deployments of the Weaviate database using any release before version 1.38.0. The affected product is Weaviate by Weaviate. Any user interacting with the role‑assignment API endpoints on these releases could be susceptible.

Risk and Exploitability

The CVSS score of 8.7 indicates a high severity vulnerability. The EPSS score is less than 1 %, implying a low but non‑zero probability of exploitation in the wild. The flaw is not listed in CISA’s KEV catalog. Exploitation would occur remotely via the REST API; an authenticated attacker who holds either the "assign_and_revoke_users" or "assign_and_revoke_groups" permission can assign a high‑privilege role to themselves or others, thereby gaining administrative rights over the entire system.

Generated by OpenCVE AI on August 1, 2026 at 21:10 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Weaviate 1.38.0 or a later release where the role‑assignment permission check is enforced.
  • Audit all accounts that received privileged roles during the affected window and revoke any unintended assignments.
  • Restrict the "assign_and_revoke_users" and "assign_and_revoke_groups" permissions to trusted administrators only, ensuring only users with legitimate need can grant roles.

Generated by OpenCVE AI on August 1, 2026 at 21:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 06 Jul 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 02 Jul 2026 20:15:00 +0000

Type Values Removed Values Added
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.
Title Weaviate < 1.38.0 - Privilege Escalation via Unchecked Permissions in RBAC Role Assignment
First Time appeared Weaviate
Weaviate weaviate
Weaknesses CWE-266
CPEs cpe:2.3:a:weaviate:weaviate:*:*:*:*:*:*:*:*
Vendors & Products Weaviate
Weaviate weaviate
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Weaviate Weaviate
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-14T22:03:21.017Z

Reserved: 2026-07-02T15:38:18.928Z

Link: CVE-2026-59093

cve-icon Vulnrichment

Updated: 2026-07-06T12:26:51.493Z

cve-icon NVD

Status : Analyzed

Published: 2026-07-02T20:17:07.410

Modified: 2026-07-14T23:17:33.100

Link: CVE-2026-59093

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-01T21:15:04Z

Weaknesses
  • CWE-266

    Incorrect Privilege Assignment