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.6Django 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


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:

The following releases have been issued:

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, and not via Django's Trac instance or the django-developers list. Please see our security policies for further information.

Back to Top