{"id":"CVE-2020-5205","aliases":["EUVD-2022-1831","GHSA-v2wf-c3j6-wpvw"],"status":"published","title":"Session fixation attack in Pow (Hex package)","description":"In Pow (Hex package) before 1.0.16, 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.","severity":{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.0077,"percentile":0.55908,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-384"],"published":"2020-01-09T02:05:14Z","modified":"2026-10-20T10:54:22Z","fixes":[{"ecosystem":"Hex","package":"pow","fixed_in":["1.0.16"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Hex","package":"pow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.16"}]}]},{"source":"osv","ecosystem":"Hex","package":"pow","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.0.16"}]}],"versions":["0.1.0-alpha","0.1.0-alpha.1","0.1.0-alpha.2","0.1.0-alpha.3","0.1.0-alpha.4","0.1.0-alpha.5","0.1.0-alpha.6","0.1.0-alpha.7","0.1.0-alpha.8","0.1.0-rc.1","1.0.0","1.0.0-rc.0","1.0.0-rc.1","1.0.0-rc.2","1.0.0-rc.3","1.0.0-rc.4","1.0.1","1.0.10","1.0.11","1.0.12","1.0.13","1.0.14","1.0.15","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9"]}],"products":[{"vendor":"danschultzer","product":"pow"},{"vendor":"pow-auth","product":"pow"},{"vendor":"powauth","product":"pow"}],"references":[{"url":"https://github.com/danschultzer/pow/security/advisories/GHSA-v2wf-c3j6-wpvw","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/danschultzer/pow/commit/578ffd3d8bb8e8a26077b644222186b108da474f","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/danschultzer/pow/blob/master/CHANGELOG.md#v1016-2020-01-07","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-5205","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-v2wf-c3j6-wpvw"},{"url":"https://github.com/danschultzer/pow","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2020-5205","title":"Session fixation attack in Pow (Hex package)","description":"In Pow (Hex package) before 1.0.16, 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.","status":"published","published":"2020-01-09T02:05:14Z","modified":"2024-08-04T08:22:08.88Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-384"],"updated_at":"2026-11-02T14:35:47.56691Z"}],"euvd":[{"id":"EUVD-2022-1831","description":"In Pow (Hex package) before 1.0.16, 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.","status":"published","published":"2020-01-09T02:05:14Z","modified":"2024-08-04T08:22:08Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:L/A:N","level":"medium"}],"updated_at":"2026-11-03T03:08:07.28588Z"}],"ghsa":[{"id":"GHSA-v2wf-c3j6-wpvw","title":"Session fixation","description":"### Impact\n\nThe 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.\n\n### Workarounds\n\nCall `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.\n\n### References\nhttps://github.com/danschultzer/pow/commit/578ffd3d8bb8e8a26077b644222186b108da474f  \nhttps://www.owasp.org/index.php/Session_fixation","status":"published","published":"2022-04-12T21:27:49Z","modified":"2023-01-11T05:06:46Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:L/A:N","level":"medium"}],"cwes":["CWE-384"],"updated_at":"2026-11-02T14:36:13.23016Z"}],"nvd":[{"id":"CVE-2020-5205","description":"In Pow (Hex package) before 1.0.16, 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.","status":"published","published":"2020-01-09T02:15:13.34Z","modified":"2026-06-17T03:21:01.277Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":5.5,"vector":"AV:N/AC:L/Au:S/C:P/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-384"],"updated_at":"2026-11-02T14:05:52.385274Z"}],"osv":[{"id":"CVE-2020-5205","description":"In Pow (Hex package) before 1.0.16, 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.","status":"published","published":"2020-01-09T02:15:13.34Z","modified":"2026-10-20T10:54:22.401595889Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:16.936975Z"},{"id":"GHSA-v2wf-c3j6-wpvw","title":"Session fixation","description":"### Impact\n\nThe 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.\n\n### Workarounds\n\nCall `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.\n\n### References\nhttps://github.com/danschultzer/pow/commit/578ffd3d8bb8e8a26077b644222186b108da474f  \nhttps://www.owasp.org/index.php/Session_fixation","status":"published","published":"2022-04-12T21:27:49Z","modified":"2026-07-08T06:00:57.326906784Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:L/A:N","level":"medium"}],"cwes":["CWE-384"],"updated_at":"2026-11-02T15:46:56.639206Z"}]}}
