Skip to content
CVE PROGRAM SOURCE RECORD7.4 High

CVE-2026-86688

Session id is not renewed on authentication in ash_authentication, allowing session fixation

Description

Session Fixation vulnerability in team-alembic ash_authentication allows an attacker who can plant a session identifier in a victim's browser to hold an authenticated session once that victim signs in. AshAuthentication.Plug.Helpers.store_in_session/2 writes the authenticated subject into the existing session with Plug.Conn.put_session/3 and never calls Plug.Conn.configure_session(renew: true), so the identifier the visitor arrived with carries into their authenticated session. Every authentication event reaches this one function: the default success/4 injected by AshAuthentication.Phoenix.Controller.__using__/1, the AuthController emitted by mix ash_authentication_phoenix.install, and remember-me auto-login. AshAuthentication.Phoenix.Plug.store_in_session/2 is a defdelegate to it. Logout does not close the window either, because clear_session/2 ends with Plug.Conn.clear_session/1, which clears session contents but leaves the identifier intact, so a planted identifier survives a logout-then-login cycle. This issue affects ash_authentication: from 0.2.0 before 4.15.0 and from 5.0.0-rc.0 before 5.0.0-rc.14.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

team-alembic ash_authentication

Default version status: unaffected

  • 0.2.0 to < 4.15.0affected
  • 5.0.0-rc.0 to < 5.0.0-rc.14affected
pkg:hex/ash_authentication

team-alembic ash_authentication

Default version status: unaffected

  • a939dde9b917c072cdf10c4b0913a9886a4b0231 to < *affected
pkg:github/team-alembic/ash_authentication

References