Django open redirect and possible XSS attack via user-supplied numeric redirect URLs
Moderate severity
GitHub Reviewed
Published
Jan 4, 2019
to the GitHub Advisory Database
•
Updated Sep 18, 2024
Package
Affected versions
>= 1.10a1, < 1.10.7
>= 1.9a1, < 1.9.13
>= 1.8a1, < 1.8.18
Patched versions
1.10.7
1.9.13
1.8.18
Description
Published to the GitHub Advisory Database
Jan 4, 2019
Reviewed
Jun 16, 2020
Last updated
Sep 18, 2024
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 onis_safe_url()
to provide safe redirect targets and puts such a URL into a link, they could suffer from an XSS attack.References