open-webui/backend/open_webui
Classic298 55a6198e26
Gate the model profile image endpoint on model read access (#29700)
Any authenticated user could fetch the profile image of a model they have no access to, and could tell an existing model id from an unknown one by whether the response carried the image or the default logo.

The endpoint now serves an image only to callers who can see the model itself: the owner, an admin under the admin bypass, or the holder of a read grant, with the same rule applied to arena models defined in config. Everyone else gets the default logo, byte for byte the response an unknown id already returned, so ids can no longer be probed. BYPASS_MODEL_ACCESS_CONTROL is honoured here because it is what decides which models reach a user's model list to begin with.

Avatars now fall back to the default logo wherever a viewer meets a model id without holding a grant on it: a model reply in a channel shown to the other members, and the admin analytics and evaluation pages when the admin bypass is switched off.
2026-09-06 16:20:13 -04:00
..
data refac: mv backend files to /open_webui dir 2024-09-04 16:54:48 +02:00
internal refac 2026-08-30 21:36:17 -04:00
migrations chore: format 2026-08-25 16:53:53 -04:00
models Gate the model profile image endpoint on model read access (#29700) 2026-09-06 16:20:13 -04:00
retrieval Fix: mps inference evaluations (#29735) 2026-09-06 15:20:41 -04:00
routers Gate the model profile image endpoint on model read access (#29700) 2026-09-06 16:20:13 -04:00
socket perf: stop scanning every socket.io payload for binary data (#28180) 2026-08-31 01:22:06 -04:00
static refac 2026-07-27 19:39:36 -04:00
storage refac 2026-07-31 17:41:14 -04:00
tools refac: run the built-in file grep off the event loop (#29621) 2026-09-04 11:41:06 -04:00
utils chore: keep OAuth token payloads out of logs (#29709) 2026-09-06 16:19:23 -04:00
__init__.py perf: allow disabling websocket per-message-deflate (#28613) 2026-08-24 18:46:07 -04:00
alembic.ini fix: Alembic CLI commands from failing 2025-08-15 04:17:47 -04:00
config.py refac 2026-09-04 19:12:41 -04:00
constants.py refac 2026-08-29 16:14:32 -04:00
env.py Fix: mps inference evaluations (#29735) 2026-09-06 15:20:41 -04:00
events.py refac 2026-08-16 23:21:00 -07:00
functions.py fix: honor bypass_system_prompt on the pipe route (#28739) 2026-08-19 11:08:02 -07:00
main.py refac 2026-09-04 19:12:41 -04:00
tasks.py fix: stopping a response across instances on Redis Cluster (#29165) 2026-08-29 15:00:52 -04:00