CVE-2026-86533

Critical

Description

Insufficient Session Expiration vulnerability in team-alembic AshAuthentication and AshAuthentication Phoenix allows a revoked session to remain fully authenticated. A resource configured with session_identifier :jti and require_token_presence_for_authentication? disabled stores its session value as <jti>:<subject>. The jti is there so that signing out can revoke that one session. Neither reader consults it: AshAuthentication.Plug.Helpers.authenticate_resource_from_session/4 and AshAuthentication.Phoenix.LiveSession.on_mount/4 both split the value with split_identifier/2, discard the jti and pass the bare subject to AshAuthentication.subject_to_user/3, which reloads the record. The token-presence branch of each function does check its token, calling AshAuthentication.TokenResource.Actions.get_token/3 with the jti and the purpose user. Because the revocation record is never read, neither its revoked state nor its expiry constrains the session, so a session captured before sign-out keeps working. This issue affects ash_authentication: from 4.9.1 before 4.15.0 and from 5.0.0-rc.0 before 5.0.0-rc.14; ash_authentication_phoenix: from 2.10.0 before 2.17.4 and from 3.0.0-rc.0 before 3.0.0-rc.11.

SeverityCritical
CVSS9.1
Exploit probability—
ProductTeam-alembic Ash Authentication
PublishedSep 17, 2026
First seenSep 17, 2026
Weakness typeCWE-613CWE-613

How to fix

Affected products

ProductAffected versionsFixed in
team-alembic ash_authentication4.9.1 ≤ v < 4.15.0, 5.0.0-rc.0 ≤ v < 5.0.0-rc.14, fcaeb73f76f8f2e9aef8bf637690d2a20dd975964.15.0, 5.0.0-rc.14
team-alembic ash_authentication_phoenix2.10.0 ≤ v < 2.17.4, 3.0.0-rc.0 ≤ v < 3.0.0-rc.11, a3253fb4fc7145aeb403537af1c24d3a8d51ffb1, 0135217e34e621dac79ae3d9559aeee49304b0aa2.17.4, 3.0.0-rc.11

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.