{"id":"CVE-2022-0869","aliases":["EUVD-2022-1327","GHSA-5p9j-w2wx-qx4c","PYSEC-2026-631"],"status":"published","title":"Multiple Open Redirect in nitely/spirit","description":"Multiple Open Redirect in GitHub repository nitely/spirit prior to 0.12.3.","severity":{"version":"3.0","score":4.3,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.02642,"percentile":0.85799,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-601"],"published":"2022-03-06T09:20:09Z","modified":"2026-10-28T02:30:23Z","exploits":[{"source":"nuclei","id":"CVE-2022-0869","title":"nitely/spirit 0.12.3 - Open Redirect","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2022/CVE-2022-0869.yaml"}],"fixes":[{"ecosystem":"PyPI","package":"django-spirit","fixed_in":["0.12.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"django-spirit","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.12.3"}]}]},{"source":"osv","ecosystem":"PyPI","package":"django-spirit","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.12.3"}]}],"versions":["0.1","0.1.0-1","0.1.1","0.1.2","0.1.3","0.10.0","0.10.1","0.11.0","0.11.1","0.12.0","0.12.1","0.12.2","0.2.0","0.2.1","0.3.0","0.4.0","0.4.1","0.4.2","0.4.3","0.4.4","0.4.5","0.4.6","0.4.7","0.4.8","0.5.0","0.6.0","0.6.1","0.6.2","0.6.3","0.7.0","0.7.1","0.8.0","0.9.0","0.9.1"]},{"source":"osv","ecosystem":"PyPI","package":"django-spirit","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.12.3"}]}],"versions":["0.1","0.1.0-1","0.1.1","0.1.2","0.1.3","0.10.0","0.10.1","0.11.0","0.11.1","0.12.0","0.12.1","0.12.2","0.2.0","0.2.1","0.3.0","0.4.0","0.4.1","0.4.2","0.4.3","0.4.4","0.4.5","0.4.6","0.4.7","0.4.8","0.5.0","0.6.0","0.6.1","0.6.2","0.6.3","0.7.0","0.7.1","0.8.0","0.9.0","0.9.1"]}],"products":[{"vendor":"nitely","product":"nitely/spirit"},{"vendor":"spirit-project","product":"spirit"}],"references":[{"url":"https://huntr.dev/bounties/ed335a88-f68c-4e4d-ac85-f29a51b03342","tags":["x_refsource_CONFIRM","x_transferred","Exploit","Issue Tracking","Patch","Third Party Advisory","web"]},{"url":"https://github.com/nitely/spirit/commit/8f32f89654d6c30d56e0dd167059d32146fb32ef","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-0869","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-5p9j-w2wx-qx4c","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/0xxx/CVE-2022-0869.json","tags":["advisory"]},{"url":"https://github.com/nitely/spirit","tags":["package"]},{"url":"https://pypi.org/project/django-spirit","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2022-0869","title":"Multiple Open Redirect in nitely/spirit","description":"Multiple Open Redirect in GitHub repository nitely/spirit prior to 0.12.3.","status":"published","published":"2022-03-06T09:20:09Z","modified":"2024-08-02T23:40:04.524Z","cvss":[{"version":"3.0","score":4.3,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-601"],"updated_at":"2026-11-02T14:34:41.34666Z"}],"euvd":[{"id":"EUVD-2022-1327","description":"Multiple Open Redirect in GitHub repository nitely/spirit prior to 0.12.3.","status":"published","published":"2022-03-06T09:20:09Z","modified":"2024-08-02T23:40:04Z","cvss":[{"version":"3.0","score":4.3,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N","level":"medium"}],"updated_at":"2026-11-03T03:26:03.912978Z"}],"ghsa":[{"id":"GHSA-5p9j-w2wx-qx4c","title":"Open Redirect in django-spirit","description":"django-spirit prior to version 0.12.3 is vulnerable to open redirect. In the /user/login endpoint, it doesn't check the value of the next parameter when the user is logged in and passes it directly to redirect which result to open redirect. This also affects /user/logout, /user/register, /user/login, /user/resend-activation.","status":"published","published":"2022-03-07T00:00:40Z","modified":"2023-02-03T05:06:31Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-601"],"updated_at":"2026-11-02T14:36:44.093794Z"}],"nvd":[{"id":"CVE-2022-0869","description":"Multiple Open Redirect in GitHub repository nitely/spirit prior to 0.12.3.","status":"published","published":"2022-03-06T10:15:08.003Z","modified":"2026-06-17T04:21:24.153Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"},{"version":"3.0","score":4.3,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N","level":"medium","assessor":"secondary"},{"version":"2.0","score":5.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-601"],"updated_at":"2026-11-02T14:07:12.711288Z"}],"osv":[{"id":"CVE-2022-0869","title":"Multiple Open Redirect in nitely/spirit","description":"Multiple Open Redirect in GitHub repository nitely/spirit prior to 0.12.3.","status":"published","published":"2022-03-06T09:20:09Z","modified":"2026-10-28T02:30:23.768833526Z","cvss":[{"version":"3.0","score":4.3,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-601"],"updated_at":"2026-11-02T15:44:23.245966Z"},{"id":"GHSA-5p9j-w2wx-qx4c","title":"Open Redirect in django-spirit","description":"django-spirit prior to version 0.12.3 is vulnerable to open redirect. In the /user/login endpoint, it doesn't check the value of the next parameter when the user is logged in and passes it directly to redirect which result to open redirect. This also affects /user/logout, /user/register, /user/login, /user/resend-activation.","status":"published","published":"2022-03-07T00:00:40Z","modified":"2026-07-06T08:11:26.882106259Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-601"],"updated_at":"2026-11-02T15:46:38.553953Z"},{"id":"PYSEC-2026-631","title":"Open Redirect in django-spirit","description":"django-spirit prior to version 0.12.3 is vulnerable to open redirect. In the /user/login endpoint, it doesn't check the value of the next parameter when the user is logged in and passes it directly to redirect which result to open redirect. This also affects /user/logout, /user/register, /user/login, /user/resend-activation.","status":"published","published":"2026-07-02T14:13:15.599008Z","modified":"2026-07-06T08:00:11.707862783Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:57.671918Z"}]}}
