CVE-2021-28658
Vulnerability Summary
Timeline
Description
In Django 2.2 before 2.2.20, 3.0 before 3.0.14, and 3.1 before 3.1.8, MultiPartParser allowed directory traversal via uploaded files with suitably crafted file names. Built-in upload handlers were not affected by this vulnerability.
CVSS Metrics
- v4.0•MEDIUM•Score: 6.9CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
- v3.1•MEDIUM•Score: 5.3CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- v2.0•MEDIUM•Score: 5AV:N/AC:L/Au:N/C:P/I:N/A:N
EPSS Trends
Current EPSS score: 3.86%• Percentile: 90%
Techniques & Countermeasures
- CWE-22•Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
Affected Systems
- debian•python-django
< 2:2.2.20-1 | < 2:2.2.20-1 | < 2:2.2.20-1 | < 2:2.2.20-1
- debian•debian_linux
9.0
- djangoproject•django
≥ 2.2, < 2.2.20 | ≥ 3.0, < 3.0.14 | ≥ 3.1, < 3.1.8
- fedoraproject•fedora
34
- PyPI•django
≥ 2.2a1, < 2.2.20 | ≥ 3.0a1, < 3.0.14 | ≥ 3.1a1, < 3.1.8 | ≥ 3.1, < 3.1.8
References (17)
- https://docs.djangoproject.com/en/3.1/releases/security/
- https://groups.google.com/g/django-announce/c/ePr5j-ngdPU
- https://www.djangoproject.com/weblog/2021/apr/06/security-releases/
- https://lists.debian.org/debian-lts-announce/2021/04/msg00008.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZVKYPHR3TKR2ESWXBPOJEKRO2OSJRZUE/
- https://security.netapp.com/advisory/ntap-20210528-0001/
- https://nvd.nist.gov/vuln/detail/CVE-2021-28658
- https://docs.djangoproject.com/en/3.1/releases/security
- https://github.com/advisories/GHSA-xgxc-v2qg-chmh
- https://github.com/django/django
- https://github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2021-6.yaml
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZVKYPHR3TKR2ESWXBPOJEKRO2OSJRZUE
- https://pypi.org/project/Django
- https://security.netapp.com/advisory/ntap-20210528-0001
- https://www.djangoproject.com/weblog/2021/apr/06/security-releases
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ZVKYPHR3TKR2ESWXBPOJEKRO2OSJRZUE/
- https://security-tracker.debian.org/tracker/CVE-2021-28658