{"id":"CVE-2022-24857","aliases":["EUVD-2022-0081","GHSA-3r7g-wrpr-j5g4","PYSEC-2022-192"],"status":"published","title":"Multi factor authentication bypass in django-mfa3","description":"django-mfa3 is a library that implements multi factor authentication for the django web framework. It achieves this by modifying the regular login view. Django however has a second login view for its admin area. This second login view was not modified, so the multi factor authentication can be bypassed. Users are affected if they have activated both django-mfa3 (\u003c 0.5.0) and django.contrib.admin and have not taken any other measures to prevent users from accessing the admin login view. The issue has been fixed in django-mfa3 0.5.0. It is possible to work around the issue by overwriting the admin login route, e.g. by adding the following URL definition *before* the admin routes: url('admin/login/', lambda request: redirect(settings.LOGIN_URL)","severity":{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.01167,"percentile":0.67595,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-287"],"published":"2022-04-15T18:50:11Z","modified":"2026-11-11T02:31:13Z","fixes":[{"ecosystem":"PyPI","package":"django-mfa3","fixed_in":["0.5.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"django-mfa3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.0"}]}]},{"source":"osv","ecosystem":"PyPI","package":"django-mfa3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.0"}]}],"versions":["0.0.0","0.1.0","0.2.0","0.2.1","0.2.2","0.2.3","0.2.4","0.2.5","0.3.0","0.4.0"]},{"source":"osv","ecosystem":"PyPI","package":"django-mfa3","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"32f656e22df120b84bdf010e014bb19bd97971de"}]},{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.0"}]}],"versions":["0.0.0","0.1.0","0.2.0","0.2.1","0.2.2","0.2.3","0.2.4","0.2.5","0.3.0","0.4.0"]}],"products":[{"vendor":"django-mfa3_project","product":"django-mfa3"},{"vendor":"xi","product":"django-mfa3"}],"references":[{"url":"https://github.com/xi/django-mfa3/security/advisories/GHSA-3r7g-wrpr-j5g4","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web"]},{"url":"https://github.com/xi/django-mfa3/commit/32f656e22df120b84bdf010e014bb19bd97971de","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://github.com/xi/django-mfa3/blob/main/CHANGES.md#050-2022-04-15","tags":["x_refsource_MISC","x_transferred","Release Notes","Third Party Advisory","web"]},{"url":"https://security.netapp.com/advisory/ntap-20220609-0003/","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-24857","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/django-mfa3/PYSEC-2022-192.yaml","tags":["web"]},{"url":"https://security.netapp.com/advisory/ntap-20220609-0003","tags":["web"]},{"url":"https://github.com/advisories/GHSA-3r7g-wrpr-j5g4"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/24xxx/CVE-2022-24857.json","tags":["advisory"]},{"url":"https://github.com/xi/django-mfa3","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2022-24857","title":"Multi factor authentication bypass in django-mfa3","description":"django-mfa3 is a library that implements multi factor authentication for the django web framework. It achieves this by modifying the regular login view. Django however has a second login view for its admin area. This second login view was not modified, so the multi factor authentication can be bypassed. Users are affected if they have activated both django-mfa3 (\u003c 0.5.0) and django.contrib.admin and have not taken any other measures to prevent users from accessing the admin login view. The issue has been fixed in django-mfa3 0.5.0. It is possible to work around the issue by overwriting the admin login route, e.g. by adding the following URL definition *before* the admin routes: url('admin/login/', lambda request: redirect(settings.LOGIN_URL)","status":"published","published":"2022-04-15T18:50:11Z","modified":"2025-04-23T18:38:55.074Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-287"],"updated_at":"2026-11-02T14:34:34.940806Z"}],"euvd":[{"id":"EUVD-2022-0081","description":"django-mfa3 is a library that implements multi factor authentication for the django web framework. It achieves this by modifying the regular login view. Django however has a second login view for its admin area. This second login view was not modified, so the multi factor authentication can be bypassed. Users are affected if they have activated both django-mfa3 (\u003c 0.5.0) and django.contrib.admin and have not taken any other measures to prevent users from accessing the admin login view. The issue has been fixed in django-mfa3 0.5.0. It is possible to work around the issue by overwriting the admin login route, e.g. by adding the following URL definition *before* the admin routes: url('admin/login/', lambda request: redirect(settings.LOGIN_URL)","status":"published","published":"2022-04-15T18:50:11Z","modified":"2025-04-23T18:38:55Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T20:52:08.401317Z"}],"ghsa":[{"id":"GHSA-3r7g-wrpr-j5g4","title":"Improper Authentication in django-mfa3","description":"### Impact\n\ndjango-mfa3 is a library that implements multi factor authentication for the django web framework. It achieves this by modifying the regular login view. Django however has a second login view for its admin area. This second login view was not modified, so the multi factor authentication can be bypassed.\n\nYou are affected if you have activated both django-mfa3 (\u003c 0.5.0) and django.contrib.admin and have not taken any other measures to prevent users from accessing the admin login view.\n\n### Patches\n\nThe issue has been fixed in django-mfa3 0.5.0.\n\n### Workarounds\n\nIt is possible to work around the issue by overwriting the admin login route, e.g. by adding the following URL definition *before* the admin routes:\n\n    url('admin/login/', lambda request: redirect(settings.LOGIN_URL)\n\n### References\n\n- [django-mfa3 changelog](https://github.com/xi/django-mfa3/blob/main/CHANGES.md#050-2022-04-15)\n","status":"published","published":"2022-04-22T20:48:28Z","modified":"2024-09-16T21:50:15Z","cvss":[{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"},{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-287"],"updated_at":"2026-11-02T14:38:02.773864Z"}],"nvd":[{"id":"CVE-2022-24857","description":"django-mfa3 is a library that implements multi factor authentication for the django web framework. It achieves this by modifying the regular login view. Django however has a second login view for its admin area. This second login view was not modified, so the multi factor authentication can be bypassed. Users are affected if they have activated both django-mfa3 (\u003c 0.5.0) and django.contrib.admin and have not taken any other measures to prevent users from accessing the admin login view. The issue has been fixed in django-mfa3 0.5.0. It is possible to work around the issue by overwriting the admin login route, e.g. by adding the following URL definition *before* the admin routes: url('admin/login/', lambda request: redirect(settings.LOGIN_URL)","status":"published","published":"2022-04-15T19:15:12.447Z","modified":"2026-06-17T04:32:40.337Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"secondary"},{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":6.5,"vector":"AV:N/AC:L/Au:S/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-287"],"updated_at":"2026-11-02T14:07:16.9948Z"}],"osv":[{"id":"CVE-2022-24857","title":"Multi factor authentication bypass in django-mfa3","description":"django-mfa3 is a library that implements multi factor authentication for the django web framework. It achieves this by modifying the regular login view. Django however has a second login view for its admin area. This second login view was not modified, so the multi factor authentication can be bypassed. Users are affected if they have activated both django-mfa3 (\u003c 0.5.0) and django.contrib.admin and have not taken any other measures to prevent users from accessing the admin login view. The issue has been fixed in django-mfa3 0.5.0. It is possible to work around the issue by overwriting the admin login route, e.g. by adding the following URL definition *before* the admin routes: url('admin/login/', lambda request: redirect(settings.LOGIN_URL)","status":"published","published":"2022-04-15T18:50:11Z","modified":"2026-11-11T02:31:13.298699293Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-287"],"updated_at":"2026-11-11T02:50:43.46164Z"},{"id":"GHSA-3r7g-wrpr-j5g4","title":"Improper Authentication in django-mfa3","description":"### Impact\n\ndjango-mfa3 is a library that implements multi factor authentication for the django web framework. It achieves this by modifying the regular login view. Django however has a second login view for its admin area. This second login view was not modified, so the multi factor authentication can be bypassed.\n\nYou are affected if you have activated both django-mfa3 (\u003c 0.5.0) and django.contrib.admin and have not taken any other measures to prevent users from accessing the admin login view.\n\n### Patches\n\nThe issue has been fixed in django-mfa3 0.5.0.\n\n### Workarounds\n\nIt is possible to work around the issue by overwriting the admin login route, e.g. by adding the following URL definition *before* the admin routes:\n\n    url('admin/login/', lambda request: redirect(settings.LOGIN_URL)\n\n### References\n\n- [django-mfa3 changelog](https://github.com/xi/django-mfa3/blob/main/CHANGES.md#050-2022-04-15)\n","status":"published","published":"2022-04-22T20:48:28Z","modified":"2024-09-16T22:07:21.92549Z","cvss":[{"version":"3.1","score":7.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","level":"high"},{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-287"],"updated_at":"2026-11-02T15:46:36.092962Z"},{"id":"PYSEC-2022-192","description":"django-mfa3 is a library that implements multi factor authentication for the django web framework. It achieves this by modifying the regular login view. Django however has a second login view for its admin area. This second login view was not modified, so the multi factor authentication can be bypassed. Users are affected if they have activated both django-mfa3 (\u003c 0.5.0) and django.contrib.admin and have not taken any other measures to prevent users from accessing the admin login view. The issue has been fixed in django-mfa3 0.5.0. It is possible to work around the issue by overwriting the admin login route, e.g. by adding the following URL definition *before* the admin routes: url('admin/login/', lambda request: redirect(settings.LOGIN_URL)","status":"published","published":"2022-04-15T19:15:00Z","modified":"2023-11-08T04:08:38.744135Z","updated_at":"2026-11-02T15:52:53.449407Z"}]}}
