Skip to content
Heist/ feed
HighFix available

Open WebUI: Sign-in as another user via wildcard characters in the OAuth subject claim on SQLite

Type: advisorySource: OSVRisk context updated1 source record

## Summary On SQLite deployments, the lookup that maps an external identity to a local account does a substring match instead of an exact match. A subject value containing SQL wildcard characters therefore matches accounts the value was never issued for, and the sign-in binds to whichever account the database returns first, which can be an administrator. The same defect affects SCIM external-ID resolution. PostgreSQL deployments are not affected, because they take a separate and correct code path. ## Preconditions * The database is SQLite. This is the default backend. PostgreSQL deployments are not affected at all. * OAuth or OIDC sign-in is configured, or SCIM provisioning is enabled. Both are off by default. * For an attacker to steer the match deliberately, they must control the value of the claim Open WebUI uses as the subject. That value is normally assigned by the identity provider and is not attacker-controlled: the shipped GitHub and Feishu configurations use provider-assigned numeric identifiers, and a standard OIDC `sub` is provider-assigned. The deliberate case therefore requires an operator to have pointed `OAUTH_SUB_CLAIM` at a claim the end user can set at the identity provider, such as a username or email claim, or an identity provider that lets a user choose their own subject value. * No attacker and no misconfiguration are needed for the accidental case. A legitimate subject value that happens to contain an underscore matches other accounts as well, and which

Announced Source revision 2
Original source ↗
CVE context updated. The publisher announcement is unchanged.

PYSEC-2026-4128

Primary source · Revision 2

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:PYSEC-2026-4128

open-webui

Source reference: /affected/0/package/name

Affected versions
0.10.0

Source reference: /affected/0/versions

0.10.1

Source reference: /affected/0/versions

0.10.2

Source reference: /affected/0/versions

0.11.0

Source reference: /affected/0/versions

0.6.41

Source reference: /affected/0/versions

0.6.42

Source reference: /affected/0/versions

0.6.43

Source reference: /affected/0/versions

0.7.0

Source reference: /affected/0/versions

0.7.1

Source reference: /affected/0/versions

0.7.2

Source reference: /affected/0/versions

0.8.0

Source reference: /affected/0/versions

0.8.1

Source reference: /affected/0/versions

0.8.10

Source reference: /affected/0/versions

0.8.11

Source reference: /affected/0/versions

0.8.12

Source reference: /affected/0/versions

0.8.2

Source reference: /affected/0/versions

0.8.3

Source reference: /affected/0/versions

0.8.4

Source reference: /affected/0/versions

0.8.5

Source reference: /affected/0/versions

0.8.6

Source reference: /affected/0/versions

0.8.7

Source reference: /affected/0/versions

0.8.8

Source reference: /affected/0/versions

0.8.9

Source reference: /affected/0/versions

0.9.0

Source reference: /affected/0/versions

0.9.1

Source reference: /affected/0/versions

0.9.2

Source reference: /affected/0/versions

0.9.3

Source reference: /affected/0/versions

0.9.4

Source reference: /affected/0/versions

0.9.5

Source reference: /affected/0/versions

0.9.6

Source reference: /affected/0/versions

Fixed versions
0.11.1

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "ECOSYSTEM",
        "events": [
          {
            "introduced": "0.6.41"
          },
          {
            "fixed": "0.11.1"
          }
        ]
      }
    ],
    "package": {
      "name": "open-webui",
      "purl": "pkg:pypi/open-webui",
      "ecosystem": "PyPI"
    },
    "versions": [
      "0.10.0",
      "0.10.1",
      "0.10.2",
      "0.11.0",
      "0.6.41",
      "0.6.42",
      "0.6.43",
      "0.7.0",
      "0.7.1",
      "0.7.2",
      "0.8.0",
      "0.8.1",
      "0.8.10",
      "0.8.11",
      "0.8.12",
      "0.8.2",
      "0.8.3",
      "0.8.4",
      "0.8.5",
      "0.8.6",
      "0.8.7",
      "0.8.8",
      "0.8.9",
      "0.9.0",
      "0.9.1",
      "0.9.2",
      "0.9.3",
      "0.9.4",
      "0.9.5",
      "0.9.6"
    ],
    "database_specific": {
      "source": "https://github.com/pypa/advisory-database/blob/main/vulns/open-webui/PYSEC-2026-4128.yaml"
    }
  }
]
Related CVEs
CVE-2026-87016

Source reference: /aliases

Publisher severity

No explicit severity was provided.

Linked CVE context

These ratings describe the referenced vulnerabilities and products. They are not a severity rating for every application using this dependency.

Event
#62542 · Revision 2
Added to Heist Feed
Publisher date
Read the original announcement