Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
🐍
🐍 PyPI
Not in CISA KEV
MEDIUM severity

CVE-2026-44563 — open-webui

MEDIUM

CVE-2026-44563 is a medium-severity (CVSS 5.4) CWE-862 vulnerability in open-webui. A fix is available for open-webui — see the affected versions and patch details below.

Open WebUI: Ollama Model Access Control Bypass via /api/generate, /api/embed, /api/embeddings, and /api/show

Also known asGHSA-rcvp-6fgw-c7fhPYSEC-2026-2754
Published
May 15, 2026
Updated
Aug 12, 2026
Affected
1 pkg
Patched
1 / 1
Exploits
None indexed
Exploitation data as of Sep 24, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

Exploitation Status

No confirmed exploitation observed yet

  • CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.

Exploitation and automatability from CISA’s SSVC triage for CVE-2026-44563.

EPSS Exploitation Probability

via FIRST.org ↗
0.3%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs25th percentile — riskier than 25% of all scored CVEsHighest risk

EPSS (Exploit Prediction Scoring System) is a daily probability model maintained by FIRST.org. It estimates the likelihood a CVE will be exploited in production environments within the next 30 days, derived from real-world threat intelligence signals.

How urgent is this, really

CVE-2026-44563 plotted by exploitation likelihood (EPSS) against impact (CVSS). The shaded corner — EPSS 50%+ and CVSS 7.0+ — is where this CVE doesn't sit, though severity or exploitability alone can still warrant action.

Where this sits among everything scored

Of 378,567 CVEs with a current EPSS score, this one falls in the < 10% band (highlighted). Real counts from FIRST.org, not a sample — log-scaled since the landscape is heavily right-skewed.

Real-World Exposure

1 pkg affected
🐍open-webui

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.

Description

Ollama Model Access Control Bypass via /api/generate, /api/embed, /api/embeddings, and /api/show

Affected Component

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)

Affected Versions

Current main branch (commit 6fdd19bf1) and likely all versions with Ollama model access control support.

Description

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().

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:

# /api/chat (line 1101-1122) — CORRECTLY checks access
if not bypass_filter and user.role == 'user':
    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='model',
            resource_id=model_info.id, permission='read',
            user_group_ids=user_group_ids,
        )
    ):
        raise HTTPException(status_code=403, detail='Model not found')

# /api/generate (line 955-995) — NO access check at all
# /api/embed (line 835-881) — NO access check at all
# /api/embeddings (line 891-937) — NO access check at all
# /api/show (line 791-820) — NO access check at all

CVSS 3.1 Breakdown

MetricValueRationale
Attack VectorNetwork (N)Exploited remotely via API calls
Attack ComplexityLow (L)Single API call with a known model name
Privileges RequiredLow (L)Requires any authenticated user account
User InteractionNone (N)No victim interaction required
ScopeUnchanged (U)Impact within the Ollama model access boundary
ConfidentialityLow (L)/api/show exposes restricted model details including system prompts and parameters
IntegrityNone (N)No data modification
AvailabilityLow (L)Unauthorized consumption of GPU/compute resources on restricted models

Attack Scenario

  1. Admin configures model access control, restricting llama3:70b to the "ML Engineers" group. Regular user Alice is only authorized for llama3:8b.
  2. Alice knows the restricted model name (model names are predictable — llama3:70b, mistral:latest, etc.).
  3. Alice calls the unprotected endpoints directly:
    # Run completions on restricted model
    curl -X POST /ollama/api/generate \
      -H "Authorization: Bearer <alice_token>" \
      -d '{"model": "llama3:70b", "prompt": "..."}'
    
    # View restricted model details and system prompt
    curl -X POST /ollama/api/show \
      -H "Authorization: Bearer <alice_token>" \
      -d '{"model": "llama3:70b"}'
    
    # Generate embeddings with restricted model
    curl -X POST /ollama/api/embed \
      -H "Authorization: Bearer <alice_token>" \
      -d '{"model": "llama3:70b", "input": "..."}'
    
  4. All requests succeed and are proxied to Ollama without any access control check.

Impact

  • Model access control is silently ineffective for four out of five Ollama proxy endpoints
  • Unauthorized users can consume GPU/compute resources on restricted models (cost and capacity impact in multi-user deployments)
  • /api/show exposes restricted model configurations including system prompts, parameters, templates, and license information
  • Admins have a false sense of security — access restrictions appear to work via the main chat interface but are trivially bypassed via direct API calls

Preconditions

  • Ollama must be configured as a backend
  • Admin must have configured model access control (not using BYPASS_MODEL_ACCESS_CONTROL=true)
  • Attacker must know the restricted model name (model names follow predictable conventions)

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
🐍PyPIopen-webuiall versions0.9.0pip install --upgrade 'open-webui==0.9.0'

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for open-webui, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update open-webui to 0.9.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-44563 is resolved across your whole dependency graph.

  3. Workarounds

    If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.

  4. How O3 protects you

    O3 Security's impact-aware SCA analyses which vulnerable code paths your application actually calls, so a match like CVE-2026-44563 can be triaged on real exposure rather than presence alone.

Tailored to CVE-2026-44563. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.

Frequently Asked Questions

# Ollama Model Access Control Bypass via /api/generate, /api/embed, /api/embeddings, and /api/show ## Affected Component 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`) ## Affected Versions Current main branch (commit `6fdd19bf1`) and likely all versions with Ollama model access control support.
O3 Security · Impact-Aware SCA

Is CVE-2026-44563 in your dependencies?

O3 Security finds CVE-2026-44563 across PyPI dependencies, including transitive ones, and its impact-aware SCA ranks findings by whether your code actually calls the vulnerable path.

CVE-2026-44563: open-webui (Medium 5.4) | O3 Security