CVE-2021-45452: Path Traversal
Storage.save in Django 2.2 before 2.2.26, 3.2 before 3.2.11, and 4.0 before 4.0.1 allows directory traversal if crafted filenames are directly passed to it.
Other sources
Storage.save() allowed directory-traversal if directly passed suitably crafted file names.
References:
https://www.djangoproject.com/weblog/2022/jan/04/security-releases/
— Red Hat
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
redhat/Djangoto a version that resolves this vulnerability.Fixed in 4.0.1 - Upgrade
Upgrade
redhat/Djangoto a version that resolves this vulnerability.Fixed in 3.2.11 - Upgrade
Upgrade
redhat/Djangoto a version that resolves this vulnerability.Fixed in 2.2.26 - Upgrade
Upgrade
pip/Djangoto a version that resolves this vulnerability.Fixed in 4.0.1 - Upgrade
Upgrade
pip/Djangoto a version that resolves this vulnerability.Fixed in 3.2.11 - Upgrade
Upgrade
pip/Djangoto a version that resolves this vulnerability.Fixed in 2.2.26 - Upgrade
Upgrade
alpine/py3-djangoto a version that resolves this vulnerability.Fixed in 3.2.12-r0 - Upgrade
Upgrade
Djangoto a version that resolves this vulnerability.Fixed in 2.2.26 - Upgrade
Upgrade
Djangoto a version that resolves this vulnerability.Fixed in 3.2.11 - Upgrade
Upgrade
Djangoto a version that resolves this vulnerability.Fixed in 4.0.1
Event History
Frequently Asked Questions
What is CVE-2021-45452?
CVE-2021-45452 is a vulnerability in Django versions 2.2 before 2.2.26, 3.2 before 3.2.11, and 4.0 before 4.0.1 that allows directory traversal if crafted filenames are directly passed to the Storage.save function.
What is the severity of CVE-2021-45452?
The severity of CVE-2021-45452 is medium with a CVSS score of 5.3.
How can I check if my Django version is affected by CVE-2021-45452?
You can check if your Django version is affected by CVE-2021-45452 by comparing the version number with the affected versions: 2.2 before 2.2.26, 3.2 before 3.2.11, and 4.0 before 4.0.1.
How do I fix CVE-2021-45452 in Django?
To fix CVE-2021-45452 in Django, you need to update to version 2.2.26, 3.2.11, or 4.0.1, depending on the version you are using.
Are there any references for CVE-2021-45452?
Yes, you can find references for CVE-2021-45452 at the following links: [Reference 1](https://www.djangoproject.com/weblog/2022/jan/04/security-releases/), [Reference 2](https://bugzilla.redhat.com/show_bug.cgi/show_bug.cgi?id=2037170), [Reference 3](https://bugzilla.redhat.com/show_bug.cgi/show_bug.cgi?id=2037171).