Skip to content
OpenAdvisories
High · 7.4 CVE-2026-86688 EEF-CVE-2026-86688EUVD-2026-82579GHSA-v577-944g-7h3x

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

Published Sep 17, 2026 · Updated Sep 18, 2026 · Assigned by EEF

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

VendorProductAffectedFixed
team-alembic ash_authentication 0.2.0 – < 4.15.0, 5.0.0-rc.0 – < 5.0.0-rc.14 4.15.0

Affected packages

EcosystemPackageAffectedFixedRecord
Hex ash_authentication >= 0.2.0, < 4.15.0 · >= 5.0.0-rc.0, < 5.0.0-rc.14 4.15.0, 5.0.0-rc.14 EEF-CVE-2026-86688

References