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.SessioninPow.Plug.Sessionis 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/3method should return theconnonly afterPlug.Conn.configure_session/2have been called on it.References
pow-auth/pow@578ffd3
https://www.owasp.org/index.php/Session_fixation
References