Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify victim email on target app
-
DeliveryRegister provider account with victim's email
-
ExploitInitiate OAuth2/OIDC sign-in to target
-
ExecutionProvider returns token with victim email
-
PersistAshAuthentication upserts by email, binds session to victim account
-
ImpactOperate as victim with full local privileges
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Anti-spoofing controls
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The target application must (a) use ash_authentication at a vulnerable version (0.1.0-4.13.x or 5.0.0-rc.0-rc.9) and (b) have at least one OAuth2 or OIDC family strategy enabled (Auth0, Apple, generic OAuth2, or OIDC) that the attacker can complete a sign-in against. The attacker must be able to present the victim's email to that provider - by registering on a provider that allows arbitrary or unverified email addresses, exploiting provider-side email reuse or reclamation, or using a provider that returns email_verified: false. No user interaction from the victim is required, no prior authentication to the target application is required, and the victim's local account need not have ever used the OAuth provider. Deployments restricted to password or magic-link strategies are not exploitable. |
| Impact | CVSS 4.0 of 9.2 (AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H) is justified: exploitation is network-reachable, unauthenticated, and yields full takeover of the victim's local account with whatever privileges that account holds. The AT:P (attack requirements present) qualifier correctly reflects that the attacker needs the application to have an OAuth2/OIDC strategy enabled and to accept a provider on which the attacker can obtain the victim's email - a real but readily achievable precondition given how many public OIDC providers allow unverified emails or email reclamation. No EPSS, KEV, or POC data is supplied, so this is no public exploit identified at time of analysis; however, the bug class is conceptually identical to the Microsoft/Nextcloud/Grafana OIDC-email-takeover issues, so weaponization difficulty is low for any attacker who can identify a vulnerable deployment. Real-world priority should be HIGH for any application using ash_authentication with a federated provider, and LOW only for deployments that use ash_authentication exclusively with password or magic-link strategies. |
| Exploit ScenarioDerived | An attacker identifies a target application using ash_authentication with, for example, an Auth0 or generic OIDC sign-in button, looks up a victim's email address (often public), and registers a fresh account on an accepted OAuth provider using that email - or uses a provider that does not verify email ownership at all. The attacker clicks 'Sign in with <provider>', and because AshAuthentication matches by email rather than (iss, sub), the session is bound to the victim's pre-existing local account with full privileges. No public proof-of-concept is referenced, but the attack requires only a browser and a free provider account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 15, 2026
Account takeover in team-alembic AshAuthentication (0.1.0 to <4.14.0 and 5.0.0-rc.0 to <5.0.0-rc.10) lets an unauthenticated attacker hijack any local user account by completing an OAuth2 or OIDC sign-in with the victim's email address. The library matched federated logins to local users by email rather than by the OpenID Connect iss/sub pair, so any accepted provider that allows an attacker to register or reuse the victim's email - including providers that return email_verified: false - resolves to the victim's existing account. No public exploit identified at time of analysis, but the underlying technique (OIDC email-claim takeover) is well-documented and trivially reproducible.
RemediationAI
Vendor-released patch: upgrade ash_authentication to 4.14.0 on the 4.x line or 5.0.0-rc.10 on the 5.x pre-release line (commits 728b8d28c1b5f465fa1116ef044a815300fc733d and 64530644f9b37ebb76ca14aeb83a77597a0034b7). After upgrading, every OAuth2/OIDC strategy now requires an identity_resource so that (iss, sub) is persisted; configure one per the migrated DSL docs at https://github.com/team-alembic/ash_authentication/security/advisories/GHSA-777c-2fxx-qr28. Review the new trust_email_verified? flag for each provider and leave it false for any provider that does not strictly enforce email ownership (the default on_untrusted_email_match is :reject, which is the safe choice); enabling :confirm requires the confirmation add-on and a carefully worded link-confirmation email, since a misleading message lets an attacker trick a legitimate user into linking the attacker's provider identity. If immediate upgrade is impossible, the only meaningful workaround is to disable all OAuth2/OIDC strategies and restrict authentication to password or magic-link, accepting the loss of SSO; restricting accepted providers to ones that always set email_verified: true and never permit email reuse (e.g., Google Workspace tenants you control) reduces but does not eliminate exposure because the underlying email-based match is still wrong.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
AshAuthentication is an authentication library for the Elixir Ash Framework, providing OAuth2/OIDC strategies (Auth0, Apple, generic OAuth2, OIDC) that federate sign-in to a local user resource. The root cause is CWE-290 (Authentication Bypass by Spoofing): the OAuth2/OIDC strategies performed the user upsert against the email claim (or a user-defined sign-in filter), which violates OpenID Connect Core §5.7 - only the (iss, sub) tuple is defined as a stable, unique end-user identifier; email is mutable, reusable, and may be unverified. The patched code introduces a mandatory identity_resource that persists (strategy, sub) per user and gates email-based linking behind a per-strategy trust_email_verified? flag plus an on_untrusted_email_match policy (:reject by default, or :confirm via an email round-trip).
Know when Ash Authentication gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-reachable and unauthenticated (AV:N/PR:N/UI:N) but requires a vulnerable OAuth strategy plus a provider that lets the attacker assert the victim's email, so AC:H; full account takeover yields C:H/I:H/A:H.
Primary rating from Vendor (EEF).
CVSS VectorVendor: EEF
DescriptionCVE.org
Authentication Bypass by Spoofing vulnerability in team-alembic AshAuthentication allows account takeover of local users via OAuth2/OIDC sign-in.
AshAuthentication's OAuth2 and OIDC family strategies matched the local user by email address (an upsert on the email field, or a user-defined sign-in filter) rather than by the OpenID Connect iss/sub claim combination. Per OpenID Connect Core §5.7, only iss/sub uniquely and stably identifies an end-user; other claims, including email, MUST NOT be used as unique identifiers.
A provider login presenting a victim's email, including an unverified email, a reused email, or an account with email_verified: false, resolved to and signed in as the victim's existing local account. An unauthenticated attacker who can register an account on any accepted OAuth provider with the victim's email (or who benefits from provider-side email reuse or reclamation) obtains the victim's full local privileges.
The fix resolves users by the (strategy, sub) identity stored in a user identity resource, and only links a new sub to an existing local account by email when the provider's email_verified claim is trusted (trust_email_verified?).
This issue affects ash_authentication from 0.1.0 before 4.14.0 and from 5.0.0-rc.0 before 5.0.0-rc.10.
Executive ViewAI
AshAuthentication, a widely-used authentication library in versions prior to 4.14.0 and 5.0.0-rc.10, allows unauthenticated attackers to take over any user account by exploiting improper email validation in OAuth2/OIDC sign-in flows. This critical flaw enables account hijacking without credentials, exposing all users in affected applications to unauthorized access and potential data breaches. Immediate patching is required to eliminate this high-risk attack vector.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Ash Authentication
View allAsh Authentication is an authentication framework for Elixir applications. Rated medium severity (CVSS 6.3), this vulner
Authentication bypass in the Elixir library ash_authentication lets an attacker who operates one federated identity-prov
Account takeover in AshAuthentication (Elixir/Ash) 4.14.0 through 4.14.x and 5.0.0-rc.10 through 5.0.0-rc.13 lets unauth
Unconfirmed accounts can obtain an authenticated session in the AshAuthentication Elixir library, defeating the mandator
Revoked sessions continue to be treated as fully authenticated on affected AshAuthentication and AshAuthentication Phoen
Reusing a leaked single-use magic-link token is possible in the Elixir library ash_authentication because its validity c
Denial of service in the AshAuthentication API-key sign-in strategy lets an unauthenticated, remote attacker exhaust ser
JWT token replay in AshAuthentication exposes any application using the stateless bearer-token path to full account take
Authentication bypass in the AshAuthentication library for Elixir/Ash lets an authenticated attacker who holds a valid s
An authenticated account-takeover primitive exists in the Elixir library AshAuthentication (ash_authentication) versions
Password sign-in in AshAuthentication Phoenix (ash_authentication_phoenix 1.7.0 to <2.17.4 and 3.0.0-rc.0 to <3.0.0-rc.1
AshAuthentication's token-revocation action accepts forged JWTs without verifying their signature, letting an unauthenti
EUVD-2026-36714
GHSA-777c-2fxx-qr28
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB