Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Vearch | vearch | 3.5.2 – ≤ 3.5.9 | — |
References
- https://hackmd.io/@haind/vearch-rbac-privilege-level-ignored-authz-bypass third-party-advisory
- https://github.com/vearch/vearch/blob/bae78b189ff0ab1d8ac659c6acaeeb5f630db33f/internal/entity/user.go#L300-L313 technical-description
- https://github.com/vearch/vearch/blob/bae78b189ff0ab1d8ac659c6acaeeb5f630db33f/internal/master/services/role_service.go#L180-L229 technical-description
- https://github.com/vearch/vearch product
- VulnCheck Advisory: Vearch 3.5.2 through 3.5.9 Incorrect Authorization via Role.HasPermissionForResources third-party-advisory