CVE-2022-24857 json
Multi factor authentication bypass in django-mfa3
published 2022-04-15 4 y ago modified 2026-06-17 4 mo ago also GHSA-3r7g-wrpr-j5g4 , PYSEC-2022-192 , EUVD-2022-0081
- cvss
- 7.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.2%
- EPSS 1.2% chance of exploitation in 30 days, percentile 67%
- public exploits
- 0
- none known
Summary
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 (< 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)
Patch / fix
- pypi django-mfa3 0.5.0
- django-mfa3_project django-mfa3 0.5.0
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 18 mo ago
Exploit prediction
1.17% chance of exploitation in the next 30 days, higher than 67% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N |
| NVD | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 6.5 | AV:N/AC:L/Au:S/C:P/I:P/A:P |
| GitHub | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | django-mfa3 | <0.5.0 |
0.5.0 |
Affected products
- xi django-mfa3
Classification
- Weakness
-
- CWE-287 Improper Authentication
References
-
github.com
/xi/django-mfa3/commit/32f656e22df120b84bdf010e014bb19bd97971de
web, patch, third-party-advisory
-
github.com
/xi/django-mfa3/security/advisories/GHSA-3r7g-wrpr-j5g4
web, third-party-advisory, advisory
-
github.com
/xi/django-mfa3/blob/main/CHANGES.md#050-2022-04-15
web, release-notes, third-party-advisory
-
security.netapp.com
/advisory/ntap-20220609-0003/
third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2022-24857
advisory
-
github.com
/pypa/advisory-database/tree/main/vulns/django-mfa3/PYSEC-2022-192.yaml
web
-
github.com
/xi/django-mfa3
package
-
security.netapp.com
/advisory/ntap-20220609-0003
web
Sources
- CVE List CVE-2022-24857
- GitHub Advisory GHSA-3r7g-wrpr-j5g4
- NVD CVE-2022-24857
- OSV PYSEC-2022-192
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.