open-webui/backend/open_webui
Classic298 fe4b319428
fix: deny chained access to unregistered base models for non-admins (#26905)
A workspace model shared publicly could be used by any user even when its
base model was private. Unregistered base models (no row in the model
table) are admin-only for direct use — get_filtered_models hides them from
non-admins and check_model_access rejects them — but has_base_model_access
treated a missing row as "no ACL" and allowed the chained request through.

has_base_model_access now takes the caller's role and only allows an
unregistered base model hop for admins, so a shared preset can no longer
reach a base model the caller could not use directly. Registered base
models keep their existing grant-based enforcement.


Claude-Session: https://claude.ai/code/session_018toPfJW1hMXAhokGaL43Ep

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-24 01:32:32 -05:00
..
data refac: mv backend files to /open_webui dir 2024-09-04 16:54:48 +02:00
internal perf: cut per-request database session overhead (#27385) 2026-07-23 17:49:48 -05:00
migrations refac 2026-07-24 01:54:36 -04:00
models fix: don't seed non-persistent config keys (oauth.* with flag off) (#26928) 2026-07-24 00:58:30 -05:00
retrieval fix: honor Admin UI web loader settings in get_web_loader (#26749) 2026-07-24 01:30:47 -05:00
routers fix: honor Admin UI web loader settings in get_web_loader (#26749) 2026-07-24 01:30:47 -05:00
socket refac 2026-07-23 22:20:50 -04:00
static refac 2026-07-20 22:27:13 -04:00
storage refac: modernize type annotations (PEP 604 / PEP 585) 2026-05-12 17:10:15 +09:00
tools fix: detect bare pipe alternation as regex in grep_knowledge_files (#26795) 2026-07-23 23:33:35 -04:00
utils fix: deny chained access to unregistered base models for non-admins (#26905) 2026-07-24 01:32:32 -05:00
__init__.py refac 2026-06-17 03:01:11 +02:00
alembic.ini fix: Alembic CLI commands from failing 2025-08-15 04:17:47 -04:00
config.py refac 2026-07-24 01:19:28 -04:00
constants.py refac 2026-06-29 05:46:51 -05:00
env.py refac 2026-07-23 22:52:23 -04:00
events.py Log upstream provider rejections at warn/error level (#27238) 2026-07-23 03:42:48 -04:00
functions.py refac 2026-07-23 03:39:56 -04:00
main.py refac 2026-07-24 00:47:12 -04:00
tasks.py refac 2026-07-16 21:57:43 -04:00