CVE-2026-91039

dynamic_oidc identities are not namespaced by connection in ash_authentication, allowing cross-connection account takeover

Published Sep 17, 2026 · Updated Sep 17, 2026

Authentication Bypass by Spoofing vulnerability in team-alembic ash_authentication allows an attacker who operates one identity-provider connection of a dynamic_oidc strategy to be signed in as a local user established through a different connection.

CVSS severityUnavailable
Unscored
EPSS probability0.66%
Next 30 days · Oct 19, 2026
Known exploitationUnconfirmed
Based on sourced intelligence
Hinoki checkNot available
Coverage for this vulnerability

See if you're affected

Explore vulnerability checks for your environment with Hinoki.

Get started

Summary

What happened

Authentication Bypass by Spoofing vulnerability in team-alembic ash_authentication allows an attacker who operates one identity-provider connection of a dynamic_oidc strategy to be signed in as a local user established through a different connection.

The strategy is meant to keep each connection in its own identity namespace by writing every UserIdentity row's strategy field as "/<connection_id>", but that namespacing never takes effect. connection_id is populated only on the ephemeral runtime struct built per request in dynamic_oidc/plug.ex, and DynamicOidc.IdentityChange.change/3 re-fetches the strategy from the compile-time DSL through Info.strategy_for_action, yielding the persisted struct whose connection_id is its defstruct default of nil. OAuth2.identity_strategy_name/1 therefore falls back to the bare strategy name for both the identity write and the reads in oauth2/user_resolver.ex and oauth2/sign_in_preparation.ex. Since the identity resource's unique key is (uid, strategy), one row exists per sub across every connection, and the identity-match branch runs before any email check. Neither strategy handles iss, so nothing else distinguishes the issuers: OpenID Connect Core section 5.7 makes sub unique only within an issuer, so two connections numbering subjects independently share one subject space.

This issue affects ash_authentication: from 5.0.0-rc.10 before 5.0.0-rc.14.

The record

CVE
CVE-2026-91039
Published
Sep 17, 2026
Updated
Sep 17, 2026
Vendor
Alembic
Product
Ash Authentication
Classifications
Unavailable
Attack vector
Unavailable
Privileges
Unavailable

Timeline

How it unfolded

  1. Sep 17, 2026CVE publishedPublication date reported by the CVE source.
  2. Sep 17, 2026Record updatedLatest update available in the CVE record.

Exploitability

Present is not the same as exploitable

Compare your product and version with the public record. A matching version still requires validation against your environment.

Is a vulnerable build present?

Compare these published version ranges with your installed build and any vendor patches.

  1. Affected versionversion=5.0.0-rc.10 <5.0.0-rc.14
  2. Affected versionversion=64530644f9b37ebb76ca14aeb83a77597a0034b7 <73ad16e452670bbf843550a13361bd41e72ad964

What conditions does exploitation require?

Attack vectorUnavailable in this record.
Required privilegesUnavailable in this record.

What is affected?

Alembic · Ash Authenticationversion=5.0.0-rc.10 <5.0.0-rc.14; version=64530644f9b37ebb76ca14aeb83a77597a0034b7 <73ad16e452670bbf843550a13361bd41e72ad964

Published CVSS scores

No CVSS assessment is available in this record.

CVSS describes severity. EPSS estimates exploitation probability.

Attacks

What attackers are doing with it

Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.

Activity data is delayed. The latest report is Sep 28, 2026.

Daily unique IPsNo honeypot observations are available for this CVE in the selected window.

No observations available

Sep 22, 2026Sep 28, 2026
Latest reporting daySep 28, 2026
Latest daily unique IPsUnavailable
Prior 30-day averageUnavailable
SourceShadowserver honeypots (KEV)
VectorUnavailable
PrivilegesUnavailable
Known exploitationUnconfirmed
Public exploitUnconfirmed

Weakness, pattern, technique

No sourced classifications are available.

Public exploit references

No public exploit references are available in this record.

Labels summarize the accepted research assessment. They do not indicate a test against your environment.

Technologies

Your stack

See the directory against your own environment.

Your stack

Check the software in your environment

Get started to see how Hinoki identifies affected software and validates exploitability in your environment.

Get started