mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-17 08:21:12 -05:00
issue: Allow Multiple Models in Chat permission bypass via chat import & sharing
#5553
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @silentoplayz on GitHub (Jun 16, 2025).
Check Existing Issues
Installation Method
Docker
Open WebUI Version
v0.6.14
Ollama Version (if applicable)
v0.9.0
Operating System
Edition: Windows 11 Pro | Version: 24H2 | OS Build: 26100.4351 | Windows Feature Experience Pack: 1000.26100.107.0
Browser (if applicable)
LibreWolf v135.0.1-1 (Firefox)
Confirmation
README.md.Expected Behavior
If a user or a usergroup does not have the
Allow Multiple Models in Chatpermission enabled, they should be strictly limited to using only one model per chat session. This restriction should apply universally, including to imported chats and shared chats.Specifically, when importing a chat or accessing a shared chat:
Allow Multiple Models in Chatpermission, the system should either:Actual Behavior
Users who do not have the
Allow Multiple Models in Chatpermission can bypass this restriction through two distinct methods:.jsonchat file that was previously exported with multiple models selected, the user gains access to a multi-model chat session.In both bypass scenarios, once the multi-model chat is accessed (either via import or sharing), the user can interact with it, and crucially, they can clone it. The imported/cloned chat also retains the multi-model functionality, allowing them to effectively use multiple models indefinitely by cloning. They can also change the specific models selected in the cloned chat to any other models available to them, while still maintaining the multi-model capability.
Steps to Reproduce
Part 1: Admin Setup (Preparing Multi-Model Chat & Permissions)
Admin Panel>Users>Groups.testuser) or identify an existing user/user group for whom you intend to disable theAllow Multiple Models in Chatpermission. Ensure this user is not anAdmin, but aUser.testuser's role (or the specific user), disable theAllow Multiple Models in Chatpermission. Save changes.llama3andmistral).Export chat (.json)option. Save the.jsonfile somewhere to your computer.Copy Linkto copy the sharable chat link. Keep it copied to your device's clipboard.Part 2A: User Reproduction (Bypass Method 1: Import)
testuser(the user for whomAllow Multiple Models in Chatwas disabled).Settingspage and click on theChatstab..jsonfile saved in Step 8 of Part 1.testuser's permissions.Part 2B: User Reproduction (Bypass Method 2: Shared Chat)
testuseris still logged in (or log in again if necessary).Cloneat the bottom of the chat to clone it into your chats list as a user.Logs & Screenshots
https://github.com/user-attachments/assets/f1e8c804-1959-49a8-85ac-2892682ed353
Additional Information
This issue presents a significant security and access control vulnerability. The
Allow Multiple Models in Chatpermission is intended to restrict certain users or roles from utilizing multi-model capabilities, potentially to manage resource consumption, control access to specific model combinations, or enforce policy. The current behavior allows simple import or chat sharing operations to completely circumvent this established permission, leading to:A robust solution should consistently validate imported and shared chat configurations against the accessing user's real-time permissions, ensuring consistency and preventing unauthorized feature access.
@tjbck commented on GitHub (Jun 16, 2025):
Addressed with a47e3b429e327c0ae07c886ac98f461b23807f5a!
@silentoplayz commented on GitHub (Jun 16, 2025):
Awesome! I can confirm that this commit does indeed mitigate the reported issues in this thread. Thanks for the speedy fix!