Django 1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18 relies on user input in some cases to redirect the user to an “on success” URL. The security check for these redirects (namely django.utils.http.is_safe_url()
) considered some numeric URLs “safe” when they shouldn’t be, aka an open redirect vulnerability. Also, if a developer relies on is_safe_url()
to provide safe redirect targets and puts such a URL into a link, they could suffer from an XSS attack.
www.debian.org/security/2017/dsa-3835
www.securityfocus.com/bid/97406
www.securitytracker.com/id/1038177
access.redhat.com/errata/RHSA-2017:1445
access.redhat.com/errata/RHSA-2017:1451
access.redhat.com/errata/RHSA-2017:1462
access.redhat.com/errata/RHSA-2017:1470
access.redhat.com/errata/RHSA-2017:1596
access.redhat.com/errata/RHSA-2017:3093
access.redhat.com/errata/RHSA-2018:2927
github.com/advisories/GHSA-37hp-765x-j95x
github.com/django/django
github.com/django/django/commit/254326cb3682389f55f886804d2c43f7b9f23e4f
github.com/django/django/commit/8339277518c7d8ec280070a780915304654e3b66
github.com/django/django/commit/f824655bc2c50b19d2f202d7640785caabc82787
nvd.nist.gov/vuln/detail/CVE-2017-7233
www.djangoproject.com/weblog/2017/apr/04/security-releases