CVE-2021-44420 json
Potential bypass of an upstream access control based on URL paths in Django
published 2021-12-07 4 y ago modified 2026-09-08 2 mo ago also BIT-django-2021-44420 , EUVD-2021-0062 , GHSA-v6rh-hp5x-86rv , PYSEC-2021-439
- cvss
- 7.3
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.4%
- EPSS 2.4% chance of exploitation in 30 days, percentile 84%
- public exploits
- 0
- none known
Summary
In Django 2.2 before 2.2.25, 3.1 before 3.1.14, and 3.2 before 3.2.10, HTTP requests for URLs with trailing newlines could bypass upstream access control based on URL paths.
Patch / fix
- pypi django 2.2.25, 3.1.14, 3.2.10
- bitnami django 2.2.25, 3.1.14, 3.2.10
- djangoproject django 2.2.25, 3.1.14, 3.2.10
- python-django Debian 14, Debian 13, Debian 12 2:3.2.10-1
debian advisories DEBIAN-CVE-2021-44420
- python-django Ubuntu 20.04 LTS 2:2.2.12-1ubuntu0.8
ubuntu advisories UBUNTU-CVE-2021-44420
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 utils 6.11, satellite capsule 6.11, satellite 6.11 3.1.1.21-2.el7sat
- foreman satellite utils 6.11, satellite capsule 6.11, satellite 6.11 3.1.1.21-2.el8sat
- libsolv satellite capsule 6.11, satellite 6.11 0.7.22-1.el7pc
- libsolv satellite capsule 6.11, satellite 6.11 0.7.22-1.el8pc
- candlepin satellite 6.11 4.1.13-1.el7sat
- candlepin satellite 6.11 4.1.13-1.el8sat
- satellite satellite utils 6.11, satellite capsule 6.11, satellite 6.11 6.11.0-2.el7sat
- satellite satellite utils 6.11, satellite capsule 6.11, satellite 6.11 6.11.0-2.el8sat
red hat advisories RHSA-2022:5498RHSA-2023:0742
- python-sentry-sdk openSUSE Tumbleweed 2.20.0-1.1
- python-sentry-sdk openSUSE Tumbleweed 1.5.4-1.1
- python-Django Package Hub 15 SP3, openSUSE Leap 15.3 2.2.28-bp153.2.3.1
opensuse advisories openSUSE-SU-2025:14702-1openSUSE-SU-2024:11791-1openSUSE-SU-2023:0005-1
- libdb Rocky Linux 8 5.3.28-42.el8_4
rocky linux advisories RLSA-2022:5498
- py3-django Alpine 3.24, Alpine 3.23, Alpine 3.22 +6 more 3.2.12-r0
alpine advisories ALPINE-CVE-2021-44420
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.10-1
arch linux advisories AVG-2605
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-44420 updated cvss 5.3
django: potential bypass of an upstream access control based on URL paths
-
Red Hat Ansible Automation Platform 1.2 python-django Red Hat Ansible Automation Platform 2 python-django Red Hat Ansible Tower 3 djangoaffected: no fix available
-
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-completion Red Hat OpenStack Platform 13 (Queens) python-django, python2-django, python-django-bash-completionaffected: no fix planned “Out of support scope”
-
Red Hat Satellite 6 python3-djangoaffected: no fix available
-
Red Hat Storage 3 python-django, python2-django, python-django-bash-completionaffected: no fix available “Fix deferred”
-
Red Hat Satellite 6.11 for RHEL 8 python-django 3.2.13-1.el8pcfixed: vendor fix RHSA-2022:5498
-
Red Hat RHUI 4 for RHEL 8 python-django 3.2.16-1.0.1.el8ui, python39-django 3.2.16-1.0.1.el8uifixed: vendor fix RHSA-2023:0742
-
Red Hat OpenStack Platform 16.1 python-django20, python3-django20, python-django20-bash-completion Red Hat OpenStack Platform 16.2 python-django20, python3-django20, python-django20-bash-completion Red Hat Satellite 6.11 for RHEL 7 tfm 7.0-1.el7sat, gofer 2.12.5-7.el7sat, katello 4.3.0-3.el7sat, libsolv 0.7.22-1.el7pc, libcomps 0.1.18-1.el7pc, libsolv0 0.6.34-4.el7sat, +638 more Red Hat Satellite 6.11 for RHEL 8 libdb 5.3.28-42.el8_4, katello 4.3.0-3.el8sat, libsolv 0.7.22-1.el8pc, libcomps 0.1.18-1.el8pc, python-idna 3.3-1.el8pc, python-pbr 5.6.0-1.el8pc, +628 more Red Hat RHUI 4 for RHEL 8 libsolv 0.7.22-4.0.1.el8ui, rhui-tools 4.3.0.8-1.el8ui, libcomps 0.1.18-4.0.1.el8ui, python-naya 1.1.1-3.0.1.el8ui, python-xlrd 2.0.1-5.0.1.el8ui, python-xlwt 1.3.0-3.0.1.el8ui, +167 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.42% chance of exploitation in the next 30 days, higher than 84% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| GitHub | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
| NVD | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| OSV | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | django | >=2.2a1, <2.2.25 >=3.0a1, <3.1.14 >=3.2a1, <3.2.10 >=2.2, <2.2.25 >=3.1, <3.1.14 >=3.2, <3.2.10 |
2.2.25 3.1.14 3.2.10 |
| bitnami | django | >=2.2.0, <2.2.25 >=3.1.0, <3.1.14 >=3.2.0, <3.2.10 |
2.2.25 3.1.14 3.2.10 |
Classification
- Weakness
-
- CWE-287 Improper Authentication
- Technology feeds
References
-
docs.djangoproject.com
/en/3.2/releases/security/
patch, vendor-advisory, advisory, web
-
openwall.com
/lists/oss-security/2021/12/07/1
web, mailing-list, patch, third-party-advisory, advisory
-
djangoproject.com
/weblog/2021/dec/07/security-releases/
patch, vendor-advisory, advisory, article
-
github.com
/django/django/commit/d4dcd5b9dd9e462fec8220e33e3e6c822b7e88a6
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-20211229-0006/
third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-44420
advisory, web
-
docs.djangoproject.com
/en/3.2/releases/security
web
-
github.com
/advisories/GHSA-v6rh-hp5x-86rv
advisory
-
github.com
/django/django
package
-
github.com
/pypa/advisory-database/tree/main/vulns/django/PYSEC-2021-439.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-20211229-0006
web
-
djangoproject.com
/weblog/2021/dec/07/security-releases
web
Sources
- CVE List CVE-2021-44420
- GitHub Advisory GHSA-v6rh-hp5x-86rv
- NVD CVE-2021-44420
- OSV BIT-django-2021-44420
- OSV PYSEC-2021-439
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.