PT-2025-25659 · Ash · Ash Authentication Phoenix
James Harton
+4
·
Published
2025-06-17
·
Updated
2025-07-04
·
CVE-2025-4754
CVSS v4.0
2.3
Low
| Vector | AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Name of the Vulnerable Software and Affected Versions
ash-project ash authentication phoenix versions prior to 2.10.0
Description
The issue affects the ash authentication phoenix library, where session tokens remain valid on the server after a user logs out. This creates a security gap where compromised tokens can continue to work, even after the user logs out. The sessions stored in the database still expire, limiting the duration during which this could be exploited. Users cannot fully invalidate their sessions when logging out from shared or potentially compromised devices. However, changing one's password does invalidate all other sessions. This may cause compliance issues with security frameworks requiring complete session invalidation.
Recommendations
Upgrade to version 2.10.0. After upgrading, update the AuthController implementation to use the new
clear session/2 function with the OTP app name. If the setting require token presence for authentication? is not set to true in the tokens section, enable it if possible, or set authentication.session identifier to :jti. Note that setting require token presence for authentication? to true or setting authentication.session identifier to :jti will log out all currently authenticated users if this was not previously configured. As a temporary workaround, manually revoke tokens in the logout/2 handler in the auth controller.Fix
Insufficient Session Expiration
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Ash Authentication Phoenix