Vulnerability advisory
GHSA-p99v-5w3c-jqq9
Django Access Control Bypass possibly leading to SSRF, RFI, and LFI attacks
Also known as BIT-django-2021-33571CVE-2021-33571PYSEC-2021-99
Severity
- CVSS 3.x
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Affected versions
| Affected | Fixed in |
|---|---|
2.2a1 to before 2.2.24 | 2.2.24Advisories → |
3.0a1 to before 3.1.12 | 3.1.12Advisories → |
3.2a1 to before 3.2.4 | 3.2.4Advisories → |
Description
In Django 2.2 before 2.2.24, 3.x before 3.1.12, and 3.2 before 3.2.4, URLValidator, validate_ipv4_address, and validate_ipv46_address do not prohibit leading zero characters in octal literals. This may allow a bypass of access control that is based on IP addresses. (validate_ipv4_address and validate_ipv46_address are unaffected with Python 3.9.5+..) .
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2021-33571 ↗
- Webgithub.com/django/django/commit/203d4ab9ebcd72fc4d6eb7398e66ed9e474e118e ↗
- Webgithub.com/django/django/commit/9f75e2e562fa0c0482f3dde6fc7399a9070b4a3d ↗
- Webgithub.com/django/django/commit/f27c38ab5d90f68c9dd60cabef248a570c0be8fc ↗
- Webdocs.djangoproject.com/en/3.2/releases/security ↗
- Advisorygithub.com/advisories/GHSA-p99v-5w3c-jqq9 ↗
- Packagegithub.com/django/django ↗
- Webgithub.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2021-99.yaml ↗
- Webgroups.google.com/g/django-announce/c/sPyjSKMi8Eo ↗
- Weblists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/B4SQG2EAF4WCI2SLRL6XRDJ3RPK3ZRDV ↗
- Weblists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/B4SQG2EAF4WCI2SLRL6XRDJ3RPK3ZRDV ↗
- Websecurity.netapp.com/advisory/ntap-20210727-0004 ↗
- Webwww.djangoproject.com/weblog/2021/jun/02/security-releases ↗