GHSA-3r7g-wrpr-j5g4

Suggest an improvement
Source
https://github.com/advisories/GHSA-3r7g-wrpr-j5g4
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/04/GHSA-3r7g-wrpr-j5g4/GHSA-3r7g-wrpr-j5g4.json
JSON Data
https://api.test.osv.dev/v1/vulns/GHSA-3r7g-wrpr-j5g4
Aliases
Related
Published
2022-04-22T20:48:28Z
Modified
2024-09-16T22:09:19.924942Z
Severity
  • 7.3 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N CVSS Calculator
  • 8.5 (High) CVSS_V4 - 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 CVSS Calculator
Summary
Improper Authentication in django-mfa3
Details

Impact

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.

You are affected if you 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.

Patches

The issue has been fixed in django-mfa3 0.5.0.

Workarounds

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)

References

Database specific
{
    "nvd_published_at": "2022-04-15T19:15:00Z",
    "cwe_ids": [
        "CWE-287"
    ],
    "severity": "HIGH",
    "github_reviewed": true,
    "github_reviewed_at": "2022-04-22T20:48:28Z"
}
References

Affected packages

PyPI / django-mfa3

Package

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
0.5.0

Affected versions

0.*

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