Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessHold valid Weaviate API key
-
DeliveryIdentify duplicate-key misconfiguration in Static API Key config
-
ExploitAuthenticate to Weaviate with duplicated key
-
ExecutionvalidateConfig fails to reject duplicate
-
PersistKey resolves to unintended user identity
-
ImpactAccess data/operations authorized for alternate user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires all of the following conditions to be true simultaneously: (1) The Weaviate instance must have the Static API Key authentication feature explicitly enabled in configuration - this is not the default state for all deployments. (2) The administrator must have misconfigured the AllowedKeys array with at least one duplicate key value mapped to two different user entries (e.g., AllowedKeys: ['key-A', 'key-A'], Users: ['user1', 'user2']). (3) The attacker must already possess the duplicated API key (PR:L - authenticated, low privilege), meaning they are a known API user of the system. What limits exploitation: the attacker cannot create the duplicate key condition themselves without administrative access to the Weaviate configuration; high attack complexity (AC:H) is consistent with needing to identify and trigger the ambiguous key resolution path; and the impact is bounded to user-level identity confusion within a single Weaviate instance (SC:N - no scope change). Deployments using OIDC, anonymous access, or no authentication are unaffected. |
| Impact | CVSS 4.0 score of 1.3 is very low, and the vector accurately reflects the real-world risk profile: AV:N (network-reachable) but AC:H (high complexity), PR:L (low privilege - attacker must already hold a valid key), and limited confidentiality, integrity, and availability impact (VC:L/VI:L/VA:L) scoped to the vulnerable system only (SC:N/SI:N/SA:N). The E:P modifier confirms proof-of-concept code exists but lowers the score relative to confirmed active exploitation. No KEV listing exists, and EPSS data is not provided. The practical risk is further constrained by the requirement for a specific administrator misconfiguration (duplicate keys in Static API Key config), meaning this vulnerability cannot be exploited against correctly configured deployments. This is a misconfiguration-amplification issue rather than a standalone unauthenticated attack vector. The high attack complexity designation is consistent - an attacker must both possess a duplicated key and identify that duplicate-key ambiguity exists, which requires either insider knowledge or the ability to observe configuration state. Low priority for most organizations unless Static API Key authentication is in use with multiple users sharing key values. |
| Exploit ScenarioDerived | An administrator has deployed Weaviate with Static API Key authentication and inadvertently (or through a tooling error) configured the same key value for two users - for example, 'jane' and 'jessica' both assigned 'secret-key'. An attacker holding that key authenticates to Weaviate, and due to the unvalidated duplicate, the key resolves to the alternate user identity rather than the attacker's own. This allows the attacker to perform API operations as the other user, accessing vector collections or data objects they are not authorized for under their own identity. Publicly available exploit code exists via GitHub issue #11392. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 08, 2026
Authorization bypass in Weaviate's Static API Key Handler (versions 1.37.0-1.37.7) stems from the validateConfig function failing to reject duplicate API keys mapped to distinct users, allowing key-to-user resolution to resolve ambiguously. An authenticated low-privilege attacker holding a duplicated key can authenticate to Weaviate and be resolved as an unintended user identity, bypassing user-level authorization controls. Publicly available exploit code exists (GitHub issue #11392), though the CVSS 4.0 score of 1.3 reflects high attack complexity and the authenticated, misconfiguration-dependent nature of the attack - no public exploitation or CISA KEV listing has been identified at time of analysis.
RemediationAI
Upgrade Weaviate to version 1.38.0-rc.0 or later, which incorporates the fix at commit 40f2cc32279f0f8a51016c3c6870a2c0c808e6c0 (https://github.com/weaviate/weaviate/commit/40f2cc32279f0f8a51016c3c6870a2c0c808e6c0). Note that v1.38.0-rc.0 is a release candidate; organizations with strict stability requirements should monitor for a stable v1.38.x GA release before deploying in production and evaluate release candidate risk accordingly. As an immediate compensating control prior to patching, audit the Static API Key configuration and ensure no duplicate values exist in the AllowedKeys array - each user must have a unique key value. Removing duplicate keys eliminates the exploitable condition entirely, as the fix enforces exactly this invariant. If the Static API Key feature is not actively in use, disabling it removes all exposure from this vulnerability without impacting OIDC or other authentication mechanisms Weaviate supports.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, 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 vector database that supports Static API Key authentication via a configuration-driven handler in usecases/auth/authentication/apikey/client.go. The StaticApiKey component maps parallel arrays - AllowedKeys and Users - to associate API key values with user identities. The root cause (CWE-639: Authorization Bypass Through User-Controlled Key) arises because validateConfig did not enforce uniqueness across AllowedKeys: the same key value could be assigned to two different user entries (e.g., AllowedKeys: ['secret-key', 'secret-key'], Users: ['jane', 'jessica']). The commit diff at 40f2cc32279f0f8a51016c3c6870a2c0c808e6c0 shows the fix adds a seenKeys map to detect and reject duplicate entries with the error 'keys must be unique'. When duplicates exist, key lookup can resolve to an unintended user identity, effectively bypassing the intended per-user authorization boundary. CPE: cpe:2.3:a:n/a:weaviate:*:*:*:*:*:*:*:*.
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:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Primary rating from Vendor (VulDB) · only source for this CVE.
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability was identified in Weaviate up to 1.37.7. This vulnerability affects the function validateConfig of the file usecases/auth/authentication/apikey/client.go of the component Static API Key Handler. The manipulation of the argument StaticApiKey leads to authorization bypass. It is possible to initiate the attack remotely. The complexity of an attack is rather high. It is stated that the exploitability is difficult. The exploit is publicly available and might be used. Upgrading to version 1.38.0-rc.0 is able to resolve this issue. The identifier of the patch is 40f2cc32279f0f8a51016c3c6870a2c0c808e6c0. You should upgrade the affected component.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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
Privilege escalation in Weaviate vector database versions before 1.38.0 allows a user holding only the delegated assign_
Path traversal in Weaviate OSS before 1.33.4 allows a high-privileged user who can insert data into the database to craf
An arbitrary file read flaw in Weaviate OSS before 1.33.4 lets an attacker with high privileges (PR:H, authenticated wit
EUVD-2026-35034
GHSA-jqpm-wf57-qx5c
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB