Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged non-root user
-
DeliveryIssue upsert/delete despite ReadOnly grant
-
ExploitCall PUT /roles to self-grant WriteRead
-
ExecutionEscalate toward cluster administrator
-
ImpactFull read/write control of cluster data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an existing authenticated non-root Vearch account (PR:L) that has been assigned a role whose resources carry ReadOnly or None privilege levels; the flaw is that Role.HasPermissionForResources ignores those stored levels, so the account can perform write operations (document upsert/delete) and invoke the PUT /roles endpoint to self-escalate to WriteRead. The specific product features involved are Vearch's RBAC role-permission evaluation and the /roles management API. Limiting factors: the attacker must already possess valid credentials for a low-privilege account (no anonymous/unauthenticated path), and only versions 3.5.2 through 3.5.9 are affected - environments with no untrusted low-privileged users or multi-tenant exposure face substantially reduced real-world risk. |
| Impact | This is a genuine, actionable priority rather than a high-CVSS-but-low-real-risk issue, though the exploitation surface is gated by authentication. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H) reports a network-reachable, low-complexity flaw requiring only low privileges (PR:L) and no user interaction, with high confidentiality, integrity, and availability impact on the vulnerable system - consistent with CWE-863 (Incorrect Authorization). The description corroborates the vector precisely: any already-authenticated non-root user can bypass stored ReadOnly/None privilege checks, meaning the realistic attacker is an existing low-privileged account (insider, compromised credential, or multi-tenant user) rather than an anonymous internet attacker. EPSS is not provided in the input, so exploitation probability cannot be quantified. KEV status is not indicated (treat as not listed), and no POC flag is provided, so there is no public exploit identified at time of analysis - however, the referenced HackMD write-up and the pinpoint links to the vulnerable Go source (user.go:300-313 and role_service.go:180-229) provide a clear reproduction path that materially lowers the bar to independent exploit development. Signals are consistent (no conflicts between vector and description), but the key missing data is EPSS and any confirmed in-the-wild activity; the decisive risk factor is whether low-privileged accounts are exposed to untrusted users. |
| Exploit ScenarioDerived | A low-privileged authenticated Vearch user who was granted only ReadOnly access to a resource issues upsert/delete operations against documents they should not be able to modify, because Role.HasPermissionForResources ignores the stored ReadOnly/None level. The same user then calls PUT /roles to grant their own role WriteRead privileges, escalating step-by-step toward cluster administrator control. No public exploit is identified at time of analysis, but a detailed vendor/researcher write-up and direct source-code references make reproduction straightforward. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
Incorrect authorization in Vearch 3.5.2 through 3.5.9 lets any authenticated non-root user who holds a role with ReadOnly or None resource privileges perform write operations that role should forbid. Because Role.HasPermissionForResources ignores the stored privilege level, such a user can upsert and delete documents and can call PUT /roles to grant their own role WriteRead privileges, escalating toward cluster-administrator access. Exploitation requires valid low-privilege credentials (PR:L) and is limited to the 3.5.2-3.5.9 range, so exposure is greatest in multi-tenant or shared deployments where untrusted users hold accounts; no public exploit code or confirmed active exploitation was identified at time of analysis.
RemediationAI
No vendor-released patch was identified at time of analysis; the available references point to the affected source files rather than to a fixed release, so confirm the current state on the upstream project (https://github.com/vearch/vearch) and the VulnCheck advisory (https://www.vulncheck.com/advisories/vearch-3.5.2-through-3.5.9-incorrect-authorization-via-role-haspermissionforresources) before planning an upgrade, and treat any release above 3.5.9 as unverified until the RBAC check in Role.HasPermissionForResources is confirmed patched. Until then, apply targeted compensating controls. First, restrict network access to the master services API so that PUT /roles is reachable only from trusted administrative networks or through a reverse proxy that enforces admin-only authentication - this blocks the self-escalation path directly, at the cost of requiring careful allowlisting of legitimate admin tooling and CI/CD callers. Second, audit every role definition and remove or downgrade non-administrative roles that list resources with ReadOnly or None privileges, since those are the exact primitives the flawed check mishandles; deleting or emptying such roles removes the exploit precondition but may break read-only consumers who relied on them. Third, minimize the number of low-privilege tenant accounts and disable unused non-root credentials, entering the flaw's prerequisite (an attacker must already hold valid credentials) - this reduces but does not eliminate risk for genuine multi-tenant deployments. Fourth, enable and monitor master-node audit logging for document upsert/delete operations and for PUT /roles calls from non-administrative identities, alerting on any role self-modification; log review is detective only and will not prevent the write if it lands. Finally, isolate Vearch clusters from untrusted networks and treat any cluster reachable by non-root tenants as exposed until a patched version is validated.
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
Vearch is a distributed vector search and embedding-storage engine written in Go, and this flaw sits in its role-based access control layer. The CWE-863 (Incorrect Authorization) root cause is in the role-permission evaluation logic: the function Role.HasPermissionForResources (internal/entity/user.go, around lines 300-313) is supposed to consult the per-resource privilege level (None / ReadOnly / WriteRead) stored on a role, but it fails to honor ReadOnly or None, effectively treating resources as writable. The companion management path in internal/master/services/role_service.go (around lines 180-229) exposes PUT /roles, which an affected caller can invoke to self-assign WriteRead privileges on its own role. The result is a horizontal-to-vertical privilege escalation chain: document upsert/delete and role modification are both reachable by a non-root authenticated account. The CVSS:4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N, base 8.7) and the independently assessed CVSS:3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) both describe full confidentiality, integrity, and availability impact on the Vearch cluster itself with no scope change to downstream systems.
Know when Vearch 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-reachable RBAC API exploitable by any authenticated low-privileged user (PR:L) with no interaction; broken authorization yields full read/write/escalation, so C/I/A:H and scope unchanged within the cluster's authority.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Vearch 3.5.2 through 3.5.9 contains an incorrect authorization vulnerability in Role.HasPermissionForResources that ignores stored ReadOnly or None privilege levels for resources listed in a role. Authenticated non-root users can upsert and delete documents with read-only access, or call PUT /roles to grant their role WriteRead privileges, escalating toward cluster administrator access.
Executive ViewAI
Vearch versions 3.5.2 through 3.5.9 contain an authorization flaw that allows any authenticated low-privilege user to perform write and delete operations their role explicitly forbids, and to escalate their own role to full read-write and ultimately cluster-administrator access. Because the flaw affects the platform's core permission check, any organization running a shared or multi-tenant Vearch deployment where untrusted or semi-trusted users hold accounts - internal teams, partners, or customers - should assume those users can already alter or destroy vector data and seize administrative control. No vendor patch is currently available, so leadership should treat this as an active exposure requiring compensating controls rather than a routine maintenance item.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict Vearch API access to trusted networks and administrative hosts; remove or downgrade accounts holding ReadOnly or None privileges in shared/multi-tenant clusters; segment workloads so untrusted users do not share a cluster with sensitive data; enable audit logging and alerting on PUT /roles and on document upsert/delete events; monitor for unauthorized privilege escalation and rotate credentials of any account confirmed to have escalated.
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.
EUVD-2026-96911
GHSA-73v4-h56h-crx9
NVD
CVE.org
EPSS
Exploit-DB