NewApp Monitoring is liveSign up free
AgentbeamBeta
AI agent vulnerability · Open WebUI

CVE-2026-34225: Open WebUI has Blind Server Side Request Forgery in its Image Edit Functionality

mediumCVSS 3.1 4.3GHSA-jgx9-jr5x-mvpv

Open WebUI's image edit endpoint fetches any HTTP or HTTPS URL a logged-in user supplies, with no restriction on internal addresses. The SSRF is blind, so an attacker can port-scan the internal network but cannot read responses. The data lists no patched version, but the vendor advisory page now names 0.9.5.

Published Jul 7, 2026 · Analysis Oct 25, 2026

What an attacker can do

POST /api/v1/images/edit takes an image field in form_data. In backend/open_webui/routers/images.py, the function load_url_image trusts any HTTP or HTTPS URL and requests it with requests.get. Nothing blocks loopback, private ranges or cloud metadata addresses.

The response is never returned, so the attacker learns only whether the request succeeded or failed. By comparing those results across ports and hosts, a user with any valid account can map open ports on the server's network. The advisory notes a second step: if an open service exposes state-changing GET endpoints, the attacker may be able to trigger them.

The attacker needs a valid token and network access to Open WebUI. The CVSS score is 4.3, low confidentiality impact. It matters most when Open WebUI runs inside a private network next to internal admin panels, databases with HTTP interfaces or model servers.

Who is affected

The package data lists open-webui 0.7.2 and earlier as vulnerable. The vendor advisory page lists >= 0.6.35 and < 0.9.5 as affected, so use the vendor range. The code path is the image edit feature, reached at /api/v1/images/edit.

pip show open-webui

For Docker, read the version from the About page or the image tag.

open-webui

Ecosystem
PyPI
Affected
<= 0.7.2
Fixed in
No patched version yet
Check
pip show open-webui

How to fix it

The package data records no patched version. The vendor advisory page, read on 2026-10-25, lists 0.9.5 as the patched release. Upgrade to 0.9.5 or later.

pip install -U open-webui

The advisory gives no workaround. Its remediation direction is to block user-supplied URLs that point into local address space. You can approximate that today with egress rules on the host or container that deny traffic to private ranges and metadata addresses, except to services Open WebUI needs.

How to tell if you were hit

Search web server or reverse proxy logs for many POST /api/v1/images/edit calls from a single account in a short time, each with a different internal URL or port in the image field. Check outbound connections from the Open WebUI host to internal addresses and ports it does not normally use, such as sequential port probes. A burst of failed connections to private ranges that matches those requests is the pattern in the proof of concept.

Original advisory

From the GitHub Advisory Database (CC BY 4.0).

Summary

There is a blind server side request forgery in the functionality that allows editing an image via a prompt. The affected function will perform a GET request on the URL provided by the user. There is no restriction on the domain of the provided URL allowing the local address space to be interacted with. Since the SSRF is blind (the response cannot be read) impact is port scanning of the local network because it can be confirmed if the port is open based on if the GET request failed.

Details

The vulnerability occurs here: https://github.com/open-webui/open-webui/blob/2b26355002064228e9b671339f8f3fb9d1fafa73/backend/open_webui/routers/images.py#L850-L916 Line 911 shows the user provided URL passed to the function load_url_image. Within this function on line 883 HTTP/HTTPs URLs are trusted blindly and called asynchronously with requests.get.

PoC

The vulnerability can be reproduced with the following curl command:

curl -X POST http://localhost:3000/api/v1/images/edit \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"form_data":{
    "image": "<url>",
    "prompt": "poc"}
  }'

Impact

Response differentials can be used to port scan the local network:

This can be automated to iterate through the entire port range to determine open ports. If the service running on an open port can be inferred the user may be able to interact with it in a meaningful way if the service offers any state changing GET request endpoints.

Remediation

Restrict provided URLs from local address space.

Credited to gg0h, Classic298.

Questions

Can this SSRF read internal data?

No. The advisory calls it blind. The response cannot be read, so the impact is port scanning, plus triggering state-changing GET endpoints on services found.

Is there a patched version of Open WebUI for CVE-2026-34225?

The package data shows none, but the vendor advisory page lists 0.9.5 as patched, with affected versions from 0.6.35 up to before 0.9.5. Check the release notes before relying on it.

Does the attacker need an account?

Yes. The proof of concept sends a bearer token, and the CVSS vector sets privileges to low.

References

How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology

More Open WebUI vulnerabilities

All Open WebUI entries