<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sat, 10 Oct 2026 06:13:07 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-44563 — Open WebUI: Ollama Model Access Control Bypass via /api/generate, /api/embed, /api/embeddings, and /api/show</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-44563</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; open-webui&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; open-webui&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-44563</guid>
    </item>
    <item>
      <title>PYSEC-2026-2754 — Open WebUI's Ollama Model Access Control Bypass via /api/generate, /api/embed, /api/embeddings, and /api/show</title>
      <link>https://vulnerability.circl.lu/vuln/pysec-2026-2754</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: open-webui&lt;/p&gt;
&lt;p&gt;# Ollama Model Access Control Bypass via /api/generate, /api/embed, /api/embeddings, and /api/show&lt;/p&gt;
&lt;p&gt;## Affected Component&lt;/p&gt;
&lt;p&gt;Ollama proxy endpoints missing model access control:
- `backend/open_webui/routers/ollama.py` (lines 955-995, `generate_completion`)
- `backend/open_webui/routers/ollama.py` (lines 835-881, `embed`)
- `backend/open_webui/routers/ollama.py` (lines 891-937, `embeddings`)
- `backend/open_webui/routers/ollama.py` (lines 791-820, `show_model_info`)&lt;/p&gt;
&lt;p&gt;## Affected Versions&lt;/p&gt;
&lt;p&gt;Current main branch (commit `6fdd19bf1`) and likely all versions with Ollama model access control support.&lt;/p&gt;
&lt;p&gt;## Description&lt;/p&gt;
&lt;p&gt;Four Ollama proxy 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()`.&lt;/p&gt;
&lt;p&gt;This is in direct contrast with the `/ollama/api/chat` endpoint (line 1101-1122) which correctly validates model access grants and returns 403 for unauthorized users:&lt;/p&gt;
&lt;p&gt;```python
# /api/chat (line 1101-1122) — CORRECTLY checks access
if not bypass_filter and user.role == &amp;#39;user&amp;#39;:
    user_group_ids = {group.id for group in Groups.get_groups_by_member_id(user.id)}
    if not (
        user.id == model_info.user_id
        or AccessGrants.has_access(
            user_id=user.id, resource_type=&amp;#39;model&amp;#39;…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: open-webui&lt;/p&gt;
&lt;p&gt;# Ollama Model Access Control Bypass via /api/generate, /api/embed, /api/embeddings, and /api/show&lt;/p&gt;
&lt;p&gt;## Affected Component&lt;/p&gt;
&lt;p&gt;Ollama proxy endpoints missing model access control:
- `backend/open_webui/routers/ollama.py` (lines 955-995, `generate_completion`)
- `backend/open_webui/routers/ollama.py` (lines 835-881, `embed`)
- `backend/open_webui/routers/ollama.py` (lines 891-937, `embeddings`)
- `backend/open_webui/routers/ollama.py` (lines 791-820, `show_model_info`)&lt;/p&gt;
&lt;p&gt;## Affected Versions&lt;/p&gt;
&lt;p&gt;Current main branch (commit `6fdd19bf1`) and likely all versions with Ollama model access control support.&lt;/p&gt;
&lt;p&gt;## Description&lt;/p&gt;
&lt;p&gt;Four Ollama proxy 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()`.&lt;/p&gt;
&lt;p&gt;This is in direct contrast with the `/ollama/api/chat` endpoint (line 1101-1122) which correctly validates model access grants and returns 403 for unauthorized users:&lt;/p&gt;
&lt;p&gt;```python
# /api/chat (line 1101-1122) — CORRECTLY checks access
if not bypass_filter and user.role == &amp;#39;user&amp;#39;:
    user_group_ids = {group.id for group in Groups.get_groups_by_member_id(user.id)}
    if not (
        user.id == model_info.user_id
        or AccessGrants.has_access(
            user_id=user.id, resource_type=&amp;#39;model&amp;#39;…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/pysec-2026-2754</guid>
    </item>
  </channel>
</rss>
