Cinnamon's Kotaemon (all versions up to and including v0.12.0) multi-user chat interface contains multiple vulnerabilities due to incorrect authorization and improper access controls. There are four handler methods in libs/ktem/ktem/pages/chat/control.py that load a Conversation record by its ID without comparing the requester's user_id to the conversation's owner Conversation.user. This allows any authenticated user to perform the following actions:
- Read other user's chat transcripts, RAG retrieval history, AI-generated plots, and chat suggestions.
- Permanently delete another user's conversation.
- Rename another user's conversation.
- Overwrite another user's conversation's chat suggestion list.