Weaviate supports enterprise security needs through robust authentication and authorization mechanisms. This includes API key management for programmatic access, OpenID Connect (OIDC) integration with external Identity Providers (IdPs) for centralized user management and SSO, and Role-Based Access Control (RBAC) for fine-grained permission management. RBAC allows for the definition of custom roles and permissions, and can be integrated with OIDC groups for dynamic role assignment. Audit logging is also available. This post details a specific medium severity authorization vulnerability in the GraphQL `nearObject` search operator where a user could read the vector of an object in a collection they do not have permission to read, by reconstructing the protected vector through probe objects. The fix authorizes the beacon target before its vector is loaded, at the shared vector lookup.
All Weaviate trails