CVE Catalog

CVE-2026-81637

LowCVSS 2.3
Published: Translated: NVD NIST

Summary

An insufficient session expiration flaw in AshAuthentication allows an attacker who obtains a victim's OAuth2 state value to replay the callback and sign the victim into an attacker-controlled account. The session entry is never removed on failed authentication paths due to improper Elixir scoping, so the CSRF-protection value persists across cancelled or failed attempts until the next request or session expiry.

Risk Assessment

An attacker can hijack a user's OAuth2 flow and redirect them to an attacker-controlled account, potentially leading to account takeover or unauthorized data access. This undermines the CSRF protection and session integrity.

Recommendation

Upgrade ash_authentication to a fixed version (4.15.0 or later, 5.0.0-rc.14 or later) and review session cleanup logic to ensure entries are removed even on error paths.

Other vulnerabilities in AshAuthentication

See all
Original NVD description (English source)

Insufficient Session Expiration vulnerability in team-alembic AshAuthentication allows an attacker who obtains a victim's OAuth2 state value to replay the callback and sign that victim into an attacker-controlled account. AshAuthentication.Strategy.OAuth2.Plug.callback/2 clears the stored session_params through a rebinding step inside its with chain, conn <- delete_session(conn, session_key). Elixir evaluates the else block in the scope enclosing the with, so every failure path (the provider returning ?error=access_denied, an invalid code, a token-exchange error, or a registration or sign-in failure) reaches store_authentication_result/2 holding the original connection and the session entry is never removed. The value the module's own comment describes as protection against a CSRF-related attack is therefore consumed only when authentication succeeds, and survives a cancelled or failed attempt until the next request phase or session expiry. This issue affects ash_authentication: from 0.6.0 before 4.15.0 and from 5.0.0-rc.0 before 5.0.0-rc.14.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS