High severity · published May 15, 2026
CVE-2026-45401
Open WebUI: SSRF Bypass via HTTP Redirect Following in Web-Fetch and Image-Load Endpoints
8.5
CVSS
0.3%
EPSS
No
On KEV
Description
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.5, the validate_url() function in backend/open_webui/retrieval/web/utils.py only validates the initial URL submitted by the caller. The HTTP clients used downstream (sync requests, async aiohttp, langchain's WebBaseLoader) follow HTTP 3xx redirects by default and do not re-validate the redirect target against the private-IP / metadata-IP block list. Any authenticated user can therefore submit a public URL that 302-redirects to an internal address (e.g. 127.0.0.1, 169.254.169.254, RFC1918) and read the internal response body via the /api/v1/retrieval/process/web endpoint, the /api/v1/images/... endpoints, the /api/chat/completions endpoint with an image_url content part, and any other route that calls these helpers. This vulnerability is fixed in 0.9.5.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
Attack vector
Network
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
Low
Availability
None
Scope
Changed
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 23% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
OP
open-webui · open-webui
< 0.9.5 · source: vendor
OW
Open Webui · Openwebui
before 0.9.5 · source: NVD
Affected product
OP
open-webui
open-webui
More from open-webui
9.8
CVE-2026-44566
Open WebUI: Arbitrary File Upload and Path Traversal
9.6
CVE-2026-56400
open-webui - Remote Code Execution via CORS Misconfiguration and Session Validation
9.1
CVE-2026-44551
Open WebUI: LDAP Empty Password Authentication Bypass
9.0
CVE-2026-56398
Open WebUI - Stored Cross-Site Scripting via OAuth Picture Claim SVG Data URI
9.0
CVE-2026-59216
Open WebUI: Cross-user code-interpreter and tool execution via unvalidated Socket.IO event-caller session_id