CVE-2021-33203 json
Path Traversal in Django
published 2021-06-08 5 y ago modified 2026-09-08 2 mo ago also BIT-django-2021-33203 , EUVD-2021-0067 , GHSA-68w8-qjq3-2gfm , PYSEC-2021-98
- cvss
- 4.9
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.7%
- EPSS 2.7% chance of exploitation in 30 days, percentile 86%
- public exploits
- 0
- none known
Summary
Django before 2.2.24, 3.x before 3.1.12, and 3.2.x before 3.2.4 has a potential directory traversal via django.contrib.admindocs. Staff members could use the TemplateDetailView view to check the existence of arbitrary files. Additionally, if (and only if) the default admindocs templates have been customized by application developers to also show file contents, then not only the existence but also the file contents would have been exposed. In other words, there is directory traversal outside of the template root directories.
Patch / fix
- pypi django 2.2.24, 3.1.12, 3.2.4
- bitnami django 2.2.24, 3.1.12, 3.2.4
- djangoproject django 2.2.24, 3.1.12, 3.2.4
- python-django Debian 14, Debian 13, Debian 12 2:2.2.24-1
debian advisories DEBIAN-CVE-2021-33203
- python-django Ubuntu 18.04 LTS 1:1.11.11-1ubuntu1.14
- python-django Ubuntu 20.04 LTS 2:2.2.12-1ubuntu0.7
- python-django Ubuntu Pro 16.04 LTS 1.8.7-1ubuntu5.15+esm3
ubuntu advisories UBUNTU-CVE-2021-33203
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- foreman satellite capsule 6.10, satellite 6.10 2.5.2.17-2.el7sat
- candlepin satellite 6.10 4.0.9-1.el7sat
- satellite satellite capsule 6.10, satellite 6.10 6.10.0-3.el7sat
- python-ecdsa satellite capsule 6.10, satellite 6.10 0.13.3-2.el7pc
- python-pyyaml satellite capsule 6.10, satellite 6.10 5.4.1-1.el7pc
- python3-ecdsa satellite capsule 6.10, satellite 6.10 0.13.3-2.el7pc
- python-aiohttp satellite capsule 6.10, satellite 6.10 3.7.4-1.el7pc
- python-urllib3 satellite capsule 6.10, satellite 6.10 1.26.5-1.el7pc
red hat advisories RHSA-2021:4702RHSA-2021:5070RHSA-2021:3490
- kibana OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 4.6.6-3.9.2
- grafana OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 6.7.4-4.18.2
- cassandra OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 3.11.10-5.3.5
- python-py OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 1.4.34-3.3.3
- crowbar-core OpenStack Cloud Crowbar 8 5.0+git.1622489449.a8e60e238-3.50.4
- python-Django OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 1.11.29-3.25.3
- ardana-cobbler OpenStack Cloud 8, HPE Helion OpenStack 8 8.0+git.1614096566.e8c2b27-3.44.3
- openstack-nova OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 16.1.9~dev92-3.48.5
suse advisories SUSE-SU-2021:2554-1SUSE-SU-2021:1963-1SUSE-SU-2021:1962-1
- python-Django5 openSUSE Tumbleweed 5.2.16-1.1
- python-Django openSUSE Tumbleweed 5.2.16-1.1
- python-Django4 openSUSE Tumbleweed 4.2.30-4.1
- python-Django6 openSUSE Tumbleweed 6.0-1.1
- python-Django4 openSUSE Tumbleweed 4.2.14-1.1
- python-Django openSUSE Tumbleweed 3.2.7-2.3
- python-Django openSUSE Tumbleweed 4.2.11-2.1
- python-Django Package Hub 15 SP3, openSUSE Leap 15.3 2.2.28-bp153.2.3.1
opensuse advisories openSUSE-SU-2026:11270-1openSUSE-SU-2026:11248-1openSUSE-SU-2026:11235-1openSUSE-SU-2026:10005-1openSUSE-SU-2024:14208-1openSUSE-SU-2024:11205-1
- py3-django Alpine 3.24, Alpine 3.23, Alpine 3.22 +9 more 3.1.13-r0
alpine advisories ALPINE-CVE-2021-33203
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- python-django Arch Linux 3.2.4-1
arch linux advisories AVG-2026
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2021-33203 updated cvss 4.9
django: Potential directory traversal via ``admindocs``
-
Red Hat Ansible Automation Platform 1.2 django, python-djangoaffected: workaround, no fix available “Fix deferred”
-
Red Hat Ansible Tower 3 django Red Hat Ceph Storage 2 python-django, calamari-server, python-django-bash-completion Red Hat Ceph Storage 3 python-django, python-django-bash-completion Red Hat OpenStack Platform 10 (Newton) python-django, python-django-bash-completionaffected: workaround, no fix planned “Out of support scope”
-
Red Hat OpenStack Platform 13 (Queens) python-django, python2-django, python-django-bash-completionaffected: workaround, no fix planned “Will not fix”
-
Red Hat Satellite 6 python-django, python2-django, python-django-bash-completionaffected: workaround, no fix available “Fix deferred”
-
Red Hat Storage 3 python-django, python2-django, python-django-bash-completion Red Hat Update Infrastructure 3 for Cloud Providers python-djangoaffected: workaround, no fix planned “Will not fix”
-
Red Hat OpenStack Platform 16.1 python-django20 2.0.13-16.el8ost.1, python3-django20 2.0.13-16.el8ost.1, python-django20-bash-completion 2.0.13-16.el8ost.1fixed: vendor fix RHSA-2021:5070
-
Red Hat OpenStack Platform 16.2 python-django20 2.0.13-16.el8ost.1, python3-django20 2.0.13-16.el8ost.1fixed: vendor fix RHSA-2021:3490
-
Red Hat Satellite 6.10 python3-django 2.2.24-1.el7pc Red Hat Satellite Capsule 6.10 python3-django 2.2.24-1.el7pcfixed: vendor fix RHSA-2021:4702
show 1 moreshow fewer
-
Red Hat Satellite 6.10 tfm 7.0-1.el7sat, gofer 2.12.5-7.el7sat, katello 4.1.1-2.el7sat, libsolv 0.7.20-1.el7pc, receptor 0.6.4-2.el7ar, libcomps 0.1.15-1.el7pc, +584 more Red Hat Satellite Capsule 6.10 tfm 7.0-1.el7sat, katello 4.1.1-2.el7sat, libsolv 0.7.20-1.el7pc, libcomps 0.1.15-1.el7pc, python-rq 1.8.1-1.el7pc, python-idna 2.10-1.el7pc, +368 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
2.74% chance of exploitation in the next 30 days, higher than 86% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| GitHub | 3.1 | 4.9 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N |
| NVD | 3.1 | 4.9 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N |
| NVD | 2.0 | 4.0 | AV:N/AC:L/Au:S/C:P/I:N/A:N |
| OSV | 3.1 | 4.9 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | django | <2.2.24 >=3.0, <3.1.12 >=3.2, <3.2.4 |
2.2.24 3.1.12 3.2.4 |
| bitnami | django | <2.2.24 >=3.0.0, <3.1.12 >=3.2.0, <3.2.4 |
2.2.24 3.1.12 3.2.4 |
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
- Technology feeds
References
-
docs.djangoproject.com
/en/3.2/releases/security/
patch, vendor-advisory, advisory, web
-
djangoproject.com
/weblog/2021/jun/02/security-releases/
patch, vendor-advisory, advisory, article
-
github.com
/django/django/commit/053cc9534d174dc89daba36724ed2dcb36755b90
web
-
github.com
/django/django/commit/20c67a0693c4ede2b09af02574823485e82e4c8f
web
-
github.com
/django/django/commit/dfaba12cda060b8b292ae1d271b44bf810b1c5b9
web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/B4SQG2EAF4WCI2SLRL6XRDJ3RPK3ZRDV/
vendor-advisory, web
-
groups.google.com
/forum/#%21forum/django-announce
web
-
security.netapp.com
/advisory/ntap-20210727-0004/
third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-33203
advisory, web
-
docs.djangoproject.com
/en/3.2/releases/security
web
-
github.com
/advisories/GHSA-68w8-qjq3-2gfm
advisory
-
github.com
/django/django
package
-
github.com
/pypa/advisory-database/tree/main/vulns/django/PYSEC-2021-98.yaml
web
-
groups.google.com
/forum/#!forum/django-announce
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/B4SQG2EAF4WCI2SLRL6XRDJ3RPK3ZRDV
web
-
security.netapp.com
/advisory/ntap-20210727-0004
web
-
djangoproject.com
/weblog/2021/jun/02/security-releases
web
Sources
- CVE List CVE-2021-33203
- GitHub Advisory GHSA-68w8-qjq3-2gfm
- NVD CVE-2021-33203
- OSV BIT-django-2021-33203
- OSV PYSEC-2021-98
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.