open-webui/backend/open_webui
Classic298 5dcca59aee
fix: route OAuth profile-picture fetch through the SSRF-safe session (#26699)
_process_picture_url validated the picture URL with validate_url() but then fetched it with a plain aiohttp session that resolves the hostname again at connect time, leaving a DNS-rebinding TOCTOU window (the same gap already closed for the RAG loader, the content probe, the image fetches and webhook delivery). Routing the fetch through get_ssrf_safe_session() pins the connect-time resolution via _SSRFSafeResolver and rejects non-global addresses, so a rebinding host can no longer redirect the fetch to loopback, RFC1918 or cloud-metadata endpoints. It also stops the forwarded OAuth access_token from leaking to a rebound internal target.
2026-07-27 00:56:24 -04: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 chore: format 2026-07-27 00:12:47 -04:00
models chore: format 2026-07-27 00:12:47 -04:00
retrieval refac 2026-07-27 00:54:28 -04:00
routers fix: require an authenticated user on the Ollama version route (#27199) 2026-07-27 00:44:31 -04:00
socket refac 2026-07-26 23:49:03 -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 refac 2026-07-27 00:27:38 -04:00
utils fix: route OAuth profile-picture fetch through the SSRF-safe session (#26699) 2026-07-27 00:56:24 -04: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 chore: format 2026-07-27 00:12:47 -04:00
constants.py refac 2026-06-29 05:46:51 -05:00
env.py fix: Set default Redis socket timeout to None (#27104) 2026-07-27 00:30:00 -04:00
events.py refac 2026-07-26 19:10:41 -04:00
functions.py refac 2026-07-23 03:39:56 -04:00
main.py chore: format 2026-07-27 00:12:47 -04:00
tasks.py refac 2026-07-26 22:45:11 -04:00