CVE-2026-110826: AshAuthentication log_out_everywhere leaves sessions valid after a password reset or non-atomic password change
Summary
Improper Session Invalidation after Authentication Credential Change vulnerability in team-alembic ashauthentication allows an attacker holding a victim's session token to stay signed in after the victim resets or changes their password.
With applyonpasswordchange? true, AshAuthentication.AddOn.LogOutEverywhere.Transformer adds OnPasswordChange to update actions as a global change guarded by where: changing(hashedpassword). That condition is evaluated before the action's beforeaction hooks run, but AshAuthentication.Strategy.Password.HashPasswordChange sets the new hash in a beforeaction hook, so for every non-atomic password change the condition is false and the user's stored tokens are not revoked. The generated password reset action and the installer's changepassword action are both non-atomic.
This issue affects ashauthentication: from 4.5.0 before 4.15.1 and from 5.0.0-rc.0 before 5.0.0-rc.16.
Configurations
The logouteverywhere add-on sets applyonpasswordchange? true, as mix ashauthentication.install writes, and the password is changed through a non-atomic update action, which includes the generated password reset action and the installer's changepassword action. The attacker must already hold one of the victim's session tokens.
Other sources
Improper Session Invalidation after Authentication Credential Change vulnerability in team-alembic ashauthentication allows an attacker holding a victim's session token to stay signed in after the victim resets or changes their password.
With applyonpasswordchange? true, AshAuthentication.AddOn.LogOutEverywhere.Transformer adds OnPasswordChange to update actions as a global change guarded by where: changing(hashedpassword). That condition is evaluated before the action's beforeaction hooks run, but AshAuthentication.Strategy.Password.HashPasswordChange sets the new hash in a beforeaction hook, so for every non-atomic password change the condition is false and the user's stored tokens are not revoked. The generated password reset action and the installer's changepassword action are both non-atomic.
This issue affects ashauthentication: from 4.5.0 before 4.15.1 and from 5.0.0-rc.0 before 5.0.0-rc.16.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
erlang/ash_authenticationto a version that resolves this vulnerability.Fixed in 4.15.1 - Upgrade
Upgrade
erlang/ash_authenticationto a version that resolves this vulnerability.Fixed in 5.0.0-rc.16 - Upgrade
Upgrade
ash_authenticationto a version that resolves this vulnerability.Fixed in 4.15.1 - Upgrade
Upgrade
ash_authenticationto a version that resolves this vulnerability.Fixed in 5.0.0-rc.16