open-webui/backend/open_webui/utils
Classic298 e790e7be7a
fix: enforce model access control on /responses endpoint (#23481)
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-12 11:06:33 -05:00
..
access_control fix: enforce model access control on /responses endpoint (#23481) 2026-04-12 11:06:33 -05:00
images refac 2026-03-17 17:58:01 -05:00
mcp refac 2026-04-01 05:54:58 -05:00
telemetry refac: import fastapi instrumentor directly (#23530) 2026-04-11 15:36:22 -06:00
actions.py refac 2026-03-17 17:58:01 -05:00
anthropic.py refac 2026-03-17 17:58:01 -05:00
audit.py refac 2026-03-17 17:58:01 -05:00
auth.py refac 2026-04-10 10:15:55 -07:00
automations.py enh: automation 2026-04-11 17:06:58 -06:00
channels.py refac 2026-03-17 17:58:01 -05:00
chat.py fix: guard completed API with message id (#23184) 2026-04-01 05:39:34 -05:00
code_interpreter.py refac 2026-03-17 17:58:01 -05:00
embeddings.py refac 2026-03-17 17:58:01 -05:00
files.py refac 2026-03-23 19:46:24 -05:00
filter.py perf: lookup 2026-03-24 16:24:46 -05:00
groups.py refac 2026-03-17 17:58:01 -05:00
headers.py refac 2026-03-17 17:58:01 -05:00
logger.py refac 2026-04-10 10:15:55 -07:00
middleware.py refac 2026-04-08 13:34:23 -07:00
misc.py perf: single yield per line in stream chunks handler (#23266) 2026-03-31 18:42:52 -05:00
models.py refac 2026-03-26 18:24:17 -05:00
oauth.py fix: add SSRF protection to OAuth profile picture URL fetching (#23356) 2026-04-08 13:10:35 -07:00
payload.py refac 2026-03-24 04:49:48 -05:00
pdf_generator.py refac 2026-03-17 17:58:01 -05:00
plugin.py refac 2026-03-24 04:49:48 -05:00
rate_limit.py refac 2026-03-17 17:58:01 -05:00
redis.py fix(redis): add opt-in health_check_interval for stale pooled connections (#23573) 2026-04-11 16:17:19 -06:00
response.py refac 2026-03-24 04:49:48 -05:00
sanitize.py refac 2026-03-17 17:58:01 -05:00
security_headers.py refac 2026-03-17 17:58:01 -05:00
task.py fix: Fix the error that occurs when the task model does not exist (#23169) 2026-04-01 07:01:25 -05:00
tools.py refac 2026-04-11 16:44:12 -06:00
validate.py chore: format 2026-04-02 08:11:06 -05:00
webhook.py refac 2026-03-24 04:49:48 -05:00