Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege local host access
-
DeliveryEnumerate etcd grantee ID entries
-
ExploitIdentify legacy 16-character hash format
-
ExecutionPredict or forge target high-privilege grantee ID
-
PersistOverwrite KV metadata to bind attacker account to forged grantee ID
-
ImpactAccess restricted Milvus RBAC-protected resources
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Irreversible hash functions
|
| Exploitation Conditions | Local authenticated access with low privileges (PR:L, AV:L per CVSS) on a host running milvus-io/milvus 2.6.13 or earlier is required. The vulnerability specifically affects the RBAC grantee ID mechanism within the etcd-backed KV metadata catalog - deployments that do not use Milvus RBAC features have a reduced attack surface. High attack complexity (AC:H) requires the attacker to possess specialized knowledge of the legacy 16-character hash format, the etcd key schema, and Milvus's grantee ID namespace. Limiting factors: no remote exploitation path exists (AV:L enforces local access only); the attacker must already hold a valid low-privilege account on the Milvus host; and the high complexity barrier significantly restricts exploitation to targeted, knowledge-intensive attacks rather than opportunistic mass exploitation. No special non-default configuration flag is documented as a prerequisite beyond RBAC being in use. |
| Impact | The CVSS 3.1 score of 4.5 reflects Medium severity driven by local-only attack vector (AV:L), high attack complexity (AC:H), low privilege requirement (PR:L), and uniformly low CIA impact (C:L/I:L/A:L). The temporal modifier E:P confirms proof-of-concept code exists, while RL:O indicates an official fix is available and RC:C confirms the report. No EPSS score was provided, but given the local-only vector and high complexity, opportunistic or widespread exploitation is unlikely - this is primarily a threat from malicious insiders or attackers who have already achieved a foothold. The absence from CISA KEV is consistent with the constrained attack surface. Real-world priority is moderate for multi-tenant Milvus deployments where RBAC is actively used; organizations relying solely on Milvus's grantee system to enforce privilege separation face the highest residual risk. The high attack complexity rating is the key limiting signal - this is not a trivially exploitable flaw. |
| Exploit ScenarioDerived | A low-privileged local attacker with knowledge of Milvus's legacy 16-character grantee ID hashing scheme - informed by the publicly disclosed proof-of-concept at GitHub issue #49857 - enumerates existing grantee IDs from etcd, identifies collision candidates or predicts IDs for high-privilege roles, then manipulates the KV metadata store to associate their own account with an elevated grantee ID. The high attack complexity means the attacker must understand both the truncated hash algorithm and the etcd key structure, limiting this to technically proficient adversaries. Success yields low-level unauthorized read and write access to Milvus metadata and resource access controls. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 04, 2026
Weak hashing in milvus-io/milvus up to 2.6.13 exposes the Grantee ID Hash Handler in the KV metadata catalog (internal/metastore/kv/rootcoord/kv_catalog.go), allowing a low-privileged local attacker to predict or forge 16-character grantee IDs used in RBAC privilege assignments backed by etcd. Successful exploitation - rated high complexity - could result in unauthorized manipulation of access control metadata, yielding low-level confidentiality, integrity, and availability impact on the affected Milvus instance. A proof-of-concept has been publicly disclosed via GitHub issue #49857, though no active exploitation is confirmed in CISA KEV.
RemediationAI
Apply the upstream fix via commit 3d932f1c3e065351c4440c27abe1e6479752544d, available in PR #50060 at https://github.com/milvus-io/milvus/pull/50060. Note that a specific tagged release version incorporating this patch is not independently confirmed from available data - organizations should monitor https://github.com/milvus-io/milvus/ for an official release and treat the fix as 'upstream fix available (PR/commit); released patched version not independently confirmed.' The patch includes migration logic that rewrites stored 16-character legacy grantee IDs to the stronger format on access, which may cause brief operational overhead during the transition. As compensating controls until the patch is applied: restrict local system access to the Milvus host to trusted accounts only, audit etcd grantee ID entries for unexpected or duplicate 16-character IDs, and monitor for anomalous RBAC privilege changes in Milvus logs. Disabling RBAC entirely is not recommended as a workaround, as it removes all access control.
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
Milvus is an open-source vector database (CPE: cpe:2.3:a:milvus-io:milvus:*:*:*:*:*:*:*:*) that uses an etcd-backed key-value metadata store managed through its rootcoord component to store RBAC privilege grants. The vulnerability (CWE-328: Use of Weak Hash) resides in the Grantee ID Hash Handler within kv_catalog.go. As revealed by the PR #50060 diff, legacy grantee IDs were 16 characters long - a truncated, cryptographically insufficient hash. The fix introduces a crypto.GranteeID() function producing stronger identifiers, along with isLegacyGranteeID() (checking len(idStr) == 16) and migrateGranteeID() for backward-compatible transition of existing stored entries. The short hash length makes collision attacks or ID prediction feasible under the right conditions, undermining the integrity of the RBAC grant store.
Know when Milvus 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:L/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 has been found in milvus-io milvus up to 2.6.13. This vulnerability affects unknown code of the file internal/metastore/kv/rootcoord/kv_catalog.go of the component Grantee ID Hash Handler. The manipulation leads to use of weak hash. The attack needs to be performed locally. The attack's complexity is rated as high. It is stated that the exploitability is difficult. The exploit has been disclosed to the public and may be used. The identifier of the patch is 3d932f1c3e065351c4440c27abe1e6479752544d. Applying a patch is the recommended action to fix this issue.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Unauthenticated API access in Milvus vector database before 2.5.27/2.6.10. TCP port 9091 exposed by default without auth
Unauthenticated denial of service in Milvus through 2.6.22 and 3.0.0 allows any remote attacker with network access to p
EUVD-2026-34292
GHSA-jh6h-v6mp-h22v
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB