open-webui/backend/open_webui
DrMelone f50b5e479c fix: enforce model access control on /responses endpoint
The /responses proxy endpoint only required authentication via
get_verified_user but did not check per-model access grants. This
allowed any authenticated user to access any model through this
endpoint, bypassing the access control system.

Extract a shared check_model_access helper into utils/access_control
and replace all inline access control blocks across openai.py and
ollama.py (7 locations) with calls to this helper. This eliminates
code duplication and prevents future policy drift between endpoints.

CWE-862: Missing Authorization
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H (6.5 Medium)
2026-04-07 19:26:54 +02:00
..
data refac: mv backend files to /open_webui dir 2024-09-04 16:54:48 +02:00
internal refac 2026-03-17 17:58:01 -05:00
migrations refac 2026-04-01 18:26:46 -05:00
models refac 2026-04-02 02:50:05 -05:00
retrieval refac 2026-03-26 19:01:33 -05:00
routers fix: enforce model access control on /responses endpoint 2026-04-07 19:26:54 +02:00
socket refac 2026-04-01 07:42:11 -05:00
static refac 2026-03-23 23:39:52 -05:00
storage refac 2026-03-17 17:58:01 -05:00
test refac 2026-03-17 17:58:01 -05:00
tools refac 2026-04-02 01:40:50 -05:00
utils fix: enforce model access control on /responses endpoint 2026-04-07 19:26:54 +02:00
__init__.py refac (#22987) 2026-03-24 15:41:26 -05:00
alembic.ini fix: Alembic CLI commands from failing 2025-08-15 04:17:47 -04:00
config.py refac 2026-04-01 06:13:50 -05:00
constants.py refac 2026-03-25 17:29:57 -05:00
env.py refac 2026-03-23 20:42:48 -05:00
functions.py refac 2026-03-17 17:58:01 -05:00
main.py refac 2026-04-01 05:54:58 -05:00
tasks.py refac 2026-03-17 17:58:01 -05:00