CVE-2020-13596 json
XSS in Django
published 2020-06-03 6 y ago modified 2026-09-08 2 mo ago also BIT-django-2020-13596 , EUVD-2020-0068 , GHSA-2m34-jcjv-45xf , PYSEC-2020-32
- cvss
- 6.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.9%
- EPSS 2.9% chance of exploitation in 30 days, percentile 87%
- public exploits
- 0
- none known
Summary
An issue was discovered in Django 2.2 before 2.2.13 and 3.0 before 3.0.7. Query parameters generated by the Django admin ForeignKeyRawIdWidget were not properly URL encoded, leading to a possibility of an XSS attack.
Patch / fix
- pypi django 2.2.13, 3.0.7
- bitnami django 2.2.13, 3.0.7
- djangoproject django 2.2.13, 3.0.7
- python-django Debian 14, Debian 13, Debian 12 2:2.2.13-1
debian advisories DEBIAN-CVE-2020-13596
- python-django Ubuntu 16.04 LTS 1.8.7-1ubuntu5.13
- python-django Ubuntu 18.04 LTS 1:1.11.11-1ubuntu1.9
- python-django Ubuntu 20.04 LTS 2:2.2.12-1ubuntu0.1
- python-django Ubuntu Pro 14.04 LTS 1.6.11-0ubuntu1.3+esm1
ubuntu advisories UBUNTU-CVE-2020-13596
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
- kibana OpenStack Cloud Crowbar 9, OpenStack Cloud 9 4.6.3-4.3.2
- grafana OpenStack Cloud Crowbar 9, OpenStack Cloud 9 6.2.5-3.12.2
- ansible1 OpenStack Cloud 9 1.9.6-9.7.2
- ardana-mq OpenStack Cloud 9 9.0+git.1593618110.cbd1a37-3.16.2
- crowbar-core OpenStack Cloud Crowbar 9 6.0+git.1594619891.b75a61d0d-3.25.5
- rubygem-puma OpenStack Cloud Crowbar 9 2.16.0-4.9.1
- ardana-glance OpenStack Cloud 9 9.0+git.1593631708.9354a78-3.13.2
- ardana-manila OpenStack Cloud 9 9.0+git.1594158642.b5905e4-3.12.2
suse advisories SUSE-RU-2020:2161-1SUSE-RU-2020:2072-1SUSE-SU-2020:2055-1SUSE-SU-2020:1901-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
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.0.7-r0
alpine advisories ALPINE-CVE-2020-13596
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.0.7-1
arch linux advisories AVG-1176
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-2020-13596 updated cvss 6.5
django: possible XSS via admin ForeignKeyRawIdWidget
-
Red Hat Ceph Storage 2 python-django, python-django-bash-completionaffected: no fix planned “Out of support scope”
-
Red Hat Ceph Storage 3 python-django, python-django-bash-completionaffected: no fix planned “Will not fix”
-
Red Hat OpenStack Platform 10 (Newton) python-django, python-django-bash-completionaffected: no fix planned “Out of support scope”
-
Red Hat OpenStack Platform 13 (Queens) python-django, python2-django, python-django-bash-completionaffected: no fix available “Fix deferred”
-
Red Hat OpenStack Platform 15 (Stein) python-django, python3-django, python3-django20, python-django-bash-completion, python-django20-bash-completionaffected: no fix available, no fix planned “Out of support scope”
-
Red Hat OpenStack Platform 16 (Train) python-django, python3-django, python-django-bash-completionaffected: no fix available “Fix deferred”
-
Red Hat Satellite 6 python-django, python2-django, python-django-bash-completionaffected: no fix planned “Will not fix”
-
Red Hat Storage 3 python-django, python2-django, python-django-bash-completion Red Hat Update Infrastructure 3 for Cloud Providers python-djangoaffected: no fix available “Fix deferred”
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.90% chance of exploitation in the next 30 days, higher than 87% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| GitHub | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| NVD | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:N/I:P/A:N |
| OSV | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | django | >=2.2a1, <2.2.13 >=3.0a1, <3.0.7 >=2.2, <2.2.13 >=3.0, <3.0.7 |
2.2.13 3.0.7 |
| bitnami | django | >=2.2.0, <2.2.13 >=3.0.0, <3.0.7 |
2.2.13 3.0.7 |
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
- Technology feeds
References
-
oracle.com
/security-alerts/cpujan2021.html
web, patch, third-party-advisory, advisory
-
github.com
/django/django/commit/1f2dd37f6fcefdd10ed44cb233b2e62b520afb38
web
-
github.com
/django/django/commit/6d61860b22875f358fac83d903dc629897934815
web
-
usn.ubuntu.com
/4381-1/
vendor-advisory, third-party-advisory, advisory, web
-
usn.ubuntu.com
/4381-2/
vendor-advisory, third-party-advisory, advisory, web
-
debian.org
/security/2020/dsa-4705
vendor-advisory, web, third-party-advisory, advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/4A2AP4T7RKPBCLTI2NNQG3T6MINDUUMZ/
vendor-advisory, web
-
docs.djangoproject.com
/en/3.0/releases/security/
release-notes, vendor-advisory, advisory, web
-
djangoproject.com
/weblog/2020/jun/03/security-releases/
release-notes, vendor-advisory, advisory, article
-
security.netapp.com
/advisory/ntap-20200611-0002/
third-party-advisory, advisory
-
groups.google.com
/forum/#%21msg/django-announce/pPEmb2ot4Fo/X-SMalYSBAAJ
web
-
nvd.nist.gov
/vuln/detail/CVE-2020-13596
advisory, web
-
docs.djangoproject.com
/en/3.0/releases/security
web
-
github.com
/advisories/GHSA-2m34-jcjv-45xf
advisory
-
github.com
/django/django
package
-
github.com
/pypa/advisory-database/tree/main/vulns/django/PYSEC-2020-32.yaml
web
-
groups.google.com
/forum/#!msg/django-announce/pPEmb2ot4Fo/X-SMalYSBAAJ
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/4A2AP4T7RKPBCLTI2NNQG3T6MINDUUMZ
web
-
security.netapp.com
/advisory/ntap-20200611-0002
web
-
usn.ubuntu.com
/4381-1
web
-
usn.ubuntu.com
/4381-2
web
-
djangoproject.com
/weblog/2020/jun/03/security-releases
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/4A2AP4T7RKPBCLTI2NNQG3T6MINDUUMZ/
web
Sources
- CVE List CVE-2020-13596
- GitHub Advisory GHSA-2m34-jcjv-45xf
- NVD CVE-2020-13596
- OSV BIT-django-2020-13596
- OSV PYSEC-2020-32
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.