Django security releases issued: 3.1.6, 3.0.12, and 2.2.18
In accordance with our security release policy, the Django team is issuing Django 3.1.6, Django 3.0.12 and Django 2.2.18. These releases address the security issue with severity "low" detailed below. We encourage all users of Django to upgrade as soon as possible.
CVE-2021-3281: Potential directory-traversal via archive.extract()
The django.utils.archive.extract() function, used by startapp --template and startproject --template, allowed directory-traversal via an archive with absolute paths or relative paths with dot segments.
Thank you to Wang Baohua for the report.
Affected supported versions
- Django master branch
- Django 3.2 (currently at alpha status)
- Django 3.1
- Django 3.0
- Django 2.2
Resolution
Patches to resolve the issue have been applied to Django's master branch and the 3.2, 3.1, 3.0, and 2.2 release branches. The patches may be obtained from the following changesets:
- On the master branch
- On the 3.2 release branch
- On the 3.1 release branch
- On the 3.0 release branch
- On the 2.2 release branch
The following releases have been issued:
- Django 3.1.6 (download Django 3.1.6 | 3.1.6 checksums)
- Django 3.0.12 (download Django 3.0.12 | 3.0.12 checksums)
- Django 2.2.18 (download Django 2.2.18 | 2.2.18 checksums)
The PGP key ID used for this release is Mariusz Felisiak: 2EF56372BA48CD1B.
General notes regarding security reporting
As always, we ask that potential security issues be reported via private email to security@djangoproject.com, and not via Django's Trac instance or the django-developers list. Please see our security policies for further information.