Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with delegated assign/revoke permission
-
DeliveryPOST /authz/users/{id}/assign with admin role
-
ExploitHandler skips permission-subset check
-
ExecutionAdmin role bound to attacker account
-
ImpactFull administrative control of database
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Privilege assignment review
|
| Exploitation Conditions | Exploitation requires an authenticated principal (CVSS PR:L) that already holds the delegated assign_and_revoke_users or assign_and_revoke_groups permission in Weaviate's RBAC, and requires that RBAC authorization be enabled on the instance. Given that, the attacker calls POST /authz/users/{id}/assign or POST /authz/groups/{id}/assign to assign the built-in admin role or any high-privilege custom role to itself or another controlled account. Limiting factors: the caller must first possess one of those specific delegated assign/revoke permissions (so it is not exploitable by an unauthenticated or zero-permission user), RBAC must be in use, and a target high-privilege role must exist to assign; there is no user-interaction or non-default-platform requirement beyond having delegated administration configured. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H, base 8.7) accurately captures the risk: network-reachable, low complexity, no user interaction, but requiring low-level authenticated privileges (PR:L) - specifically an account that has already been granted the delegated assign/revoke capability. High impact across confidentiality, integrity, and availability is justified because the outcome is full admin control of the database. No EPSS score, KEV listing, or POC was provided, so real-world exploitation frequency cannot be quantified from the input; the practical risk is concentrated in multi-tenant or delegated-administration Weaviate deployments where assign/revoke permissions are handed to non-admin operators. This is a genuine, high-value escalation rather than a high-CVSS-but-low-real-risk theoretical issue, but exploitation is gated on an attacker first obtaining the delegated assign permission - meaning the effective blast radius depends heavily on how loosely those permissions are distributed. Note the CVSS 4.0 subsequent-system metrics are N (SC:N/SI:N/SA:N), consistent with escalation staying within the same database authority rather than crossing into other systems. |
| Exploit ScenarioDerived | An operator or compromised service account that was intentionally granted only the delegated assign_and_revoke_users permission - meant to let it manage which users hold which existing roles - sends a POST /authz/users/{id}/assign request assigning the built-in admin role to its own user ID. Because the handler never checks whether the caller itself holds admin-level permissions, the assignment succeeds and the account is instantly promoted to full administrative control over the vector database and all its data. No public POC was provided, but the attack is a single authenticated API call with low complexity and no user interaction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 02, 2026
Privilege escalation in Weaviate vector database versions before 1.38.0 allows a user holding only the delegated assign_and_revoke_users or assign_and_revoke_groups permission to grant the built-in admin role (or any high-privilege custom role) to itself or others, obtaining full administrative control of the database. The flaw stems from the role-assignment handlers checking only that the caller may assign roles to a target, but never verifying the caller actually holds the permissions being conferred - unlike role creation, which enforces permission subset checks. Reported by VulnCheck with a vendor patch in v1.38.0; no public exploit identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade to Weaviate v1.38.0 or later (https://github.com/weaviate/weaviate/releases/tag/v1.38.0), which adds the missing check so a principal can only assign roles whose permissions are a subset of its own; the corresponding fix is in PR 11493 and commit 2c75f6fb217631f7751c4b2a7d37a488cef13edb. If immediate upgrade is not possible, the most effective compensating control is to revoke the assign_and_revoke_users and assign_and_revoke_groups permissions from all non-admin principals and centralize role assignment with fully trusted admin accounts - the trade-off is loss of delegated user/group administration until patched. Additionally, restrict network access to the /authz/users/{id}/assign and /authz/groups/{id}/assign endpoints to trusted management hosts, and audit existing role bindings for any unexpected assignment of the built-in admin role or high-privilege custom roles. Reference the VulnCheck advisory (https://www.vulncheck.com/advisories/weaviate-privilege-escalation-via-unchecked-permissions-in-rbac-role-assignment) for detection guidance.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Weaviate is an open-source AI-native vector database that ships a role-based access control (RBAC) authorization layer. The vulnerability lives in the assignRoleToUser and assignRoleToGroup handlers, exposed via POST /authz/users/{id}/assign and POST /authz/groups/{id}/assign. These endpoints enforce authorization only on the 'can this caller assign roles to this target' axis and omit the 'does this caller already possess the permissions inside the role being assigned' check. This is a textbook CWE-266 (Incorrect Privilege Assignment): the delegated assignment capability is treated as sufficient authority to grant arbitrary privilege bundles. Weaviate's role-creation path correctly enforces that a principal may only create roles whose permissions are a subset of its own, so the assignment path represents an inconsistent, weaker security boundary for the same effective privilege-granting operation. The single affected CPE is cpe:2.3:a:weaviate:weaviate:*:*:*:*:*:*:*:* covering all versions prior to 1.38.0.
Know when Weaviate gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Network API reachable with low complexity, but requires an authenticated account holding delegated assign/revoke permission (PR:L); resulting admin takeover yields full C/I/A impact within the same database authority (S:U).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
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.
Executive ViewAI
A privilege escalation flaw in Weaviate vector database (versions before 1.38.0) allows users with limited administrative permissions to grant themselves full database control, threatening the confidentiality and availability of vector embeddings and AI/ML systems. Organizations using Weaviate must upgrade to v1.38.0 immediately to eliminate this escalation pathway.
Apply vendor patch. Pending upgrade completion, restrict delegation of role-assignment permissions to essential administrative users only and enable audit logging of role-assignment changes.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
An issue in weaviate v.1.20.0 allows a remote attacker to cause a denial of service via the handleUnbatchedGraphQLReques
Information disclosure in Weaviate Verba 2.1.3 and earlier allows remote, unauthenticated attackers to retrieve environm
Server-side request forgery in Weaviate's Verba (GoldenVerba) RAG application version 2.1.3 lets unauthenticated remote
Path traversal in Weaviate OSS before 1.33.4 allows a high-privileged user who can insert data into the database to craf
Authorization bypass in Weaviate's Static API Key Handler (versions 1.37.0-1.37.7) stems from the validateConfig functio
An arbitrary file read flaw in Weaviate OSS before 1.33.4 lets an attacker with high privileges (PR:H, authenticated wit
EUVD-2026-41424
GHSA-667j-56pf-pq9c
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB