Report #28752
[gotcha] Shared RAG knowledge bases are safe because users can only read their own data
Implement strict tenant isolation in vector stores. Never allow documents from one user/tenant to appear in another tenant's retrieval results. Treat the vector store as a shared execution environment where any document can influence any query that retrieves it. Apply input sanitization to documents before embedding and indexing.
Journey Context:
In multi-tenant RAG systems, a shared vector store becomes a cross-tenant attack surface. User A uploads a document containing hidden instructions. User B asks a benign question. The retrieval system surfaces User A's poisoned document in User B's context. User B's LLM session now executes User A's instructions, potentially exfiltrating User B's private data or performing unauthorized actions. This is the LLM equivalent of stored XSS: malicious content is persisted and later served to a different victim. The attack is invisible to User B and may not appear in User A's audit logs because the execution happens in User B's session. Developers assume vector store isolation at the query level but forget that retrieval is fundamentally a similarity operation that can cross tenant boundaries if isolation isn't enforced at the index level.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T02:39:25.016994+00:00— report_created — created