Impact
The use of Plug.Session
in Pow.Plug.Session
is susceptible to session fixation attacks if a persistent session store is used for Plug.Session
, such as Redis or a database. Cookie store, which is used in most Phoenix apps, doesn't have this vulnerability.
Workarounds
Call Plug.Conn.configure_session(conn, renew: true)
periodically and after privilege change. A custom authorization plug can be written where the create/3
method should return the conn
only after Plug.Conn.configure_session/2
have been called on it.
References
pow-auth/pow@578ffd3
https://www.owasp.org/index.php/Session_fixation
References
Impact
The use of
Plug.Session
inPow.Plug.Session
is susceptible to session fixation attacks if a persistent session store is used forPlug.Session
, such as Redis or a database. Cookie store, which is used in most Phoenix apps, doesn't have this vulnerability.Workarounds
Call
Plug.Conn.configure_session(conn, renew: true)
periodically and after privilege change. A custom authorization plug can be written where thecreate/3
method should return theconn
only afterPlug.Conn.configure_session/2
have been called on it.References
pow-auth/pow@578ffd3
https://www.owasp.org/index.php/Session_fixation
References