CVE-2026-87016
## 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 account is returned depends on database row order. * For the SCIM path, the caller must already hold the SCIM bearer token, which is a privileged credential. ## Impact A sign-in can be bound to an account other than the one the identity provider authenticated. Where the operator has made the subject claim user-settable, an attacker who registers at that provider can choose a value that matches an existing account and receive a session for it, including an administrator account, which is a
Properties
- summary
- Open WebUI: Sign-in as another user via wildcard characters in the OAuth subject claim on SQLite
- severity
- high
- epss_score
- 0.00334
- cvss_score
- 8.1
- ghsa_published
- 2026-09-10T21:23:25Z
- source_url
- https://github.com/advisories/GHSA-wpmr-8h3q-fwj7
- ghsa_updated
- 2026-09-10T21:23:26Z
- ghsa_id
- GHSA-wpmr-8h3q-fwj7
- cve_id
- CVE-2026-87016
- cvss_vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- is_ghsa_only
- false
- epss_percentile
- 0.26319
Related Entities (6)
ENRICHED_BY (1)
REPORTED_BY (1)
VULNERABLE_TO (1)
AFFECTS (1)
HAS_WEAKNESS (2)
Explore deeper with Ninja Signal's threat intelligence graph