James Harton

#13599of 56,330
21.2Total CVSS
Vulnerabilities · 4
Low
2
High
1
Critical
1
PT-2026-81202
7.6
2026-08-25
Unknown · Ashauthentication · CVE-2026-65633
**Name of the Vulnerable Software and Affected Versions** ash authentication versions 3.10.5 through 4.14.1 ash authentication versions 5.0.0-rc.0 through 5.0.0-rc.12 **Description** Improper authentication allows purpose-limited JSON Web Tokens (JWTs) to be replayed as full bearer API credentials when a resource uses stateless bearer-token verification. The helper function `retrieve from bearer/3` verifies the signature of an Authorization: Bearer JWT and rejects tokens with an `act` claim, but fails to verify if the token's `purpose` claim equals `user`. When the resource is configured with `require token presence for authentication?` set to `false`, the `validate token/3` helper returns `{:ok, nil}` without consulting the token resource, bypassing downstream purpose checks. Consequently, valid, non-expired JWTs issued for narrow purposes—such as the `sign in` token emitted by WebAuthn or the Password strategy—are accepted as general-purpose bearer credentials, granting full `current user` assignment. An attacker who obtains a valid `sign in` token can authenticate as the target subject, bypassing one-time-use and revocation semantics. This requires the application to use `retrieve from bearer/3` on a reachable route and employ either WebAuthn or the Password strategy with `sign in tokens enabled?` set to `true`. **Recommendations** Update ash authentication to version 4.14.2 or later. Update ash authentication to version 5.0.0-rc.13 or later. Set `require token presence for authentication?` to `true` to enforce purpose verification against the stored token record. Restrict access to routes utilizing the `retrieve from bearer/3` helper function.
PT-2025-25659
2.3
2025-06-17
Ash · Ash Authentication Phoenix · CVE-2025-4754
**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.