The django.util.http.is_safe_url function in Django before 1.4.18, 1.6.x before 1.6.10…
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- — Not recorded in CVSS 2.0
- Attack complexity
- Medium
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- None · Partial · None
- Fix status
- Fixed
Attack profile from CVSS 2.0 · NVD. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
The django.util.http.is_safe_url function in Django before 1.4.18, 1.6.x before 1.6.10, and 1.7.x before 1.7.3 does not properly handle leading whitespaces, which allows remote attackers to conduct cross-site scripting (XSS) attacks via a crafted URL, related to redirect URLs, as demonstrated by a "\njavascript:" URL.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | — | all versions | — | No fix listed | CNA |
| — | Django (PyPI) | before 1.4.18 | 1.4.18 | Patch available | GHSA-gv98-g628-m9x5 |
| — | Django (PyPI) | 1.6 to before 1.6.10 | 1.6.10 | Patch available | GHSA-gv98-g628-m9x5 |
| — | Django (PyPI) | 1.7 to before 1.7.3 | 1.7.3 | Patch available | GHSA-gv98-g628-m9x5 |
- — Vendor— Affected all versions Fixed in — No fix listed CNA
- Django (PyPI) Vendor— Affected before 1.4.18 Fixed in 1.4.18 Patch available GHSA-gv98-g628-m9x5
- Django (PyPI) Vendor— Affected 1.6 to before 1.6.10 Fixed in 1.6.10 Patch available GHSA-gv98-g628-m9x5
- Django (PyPI) Vendor— Affected 1.7 to before 1.7.3 Fixed in 1.7.3 Patch available GHSA-gv98-g628-m9x5
CPE configurations NVD · 18
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:canonical:ubuntu_linux:10.04:*:lts:*:*:*:*:* | 10.04 | Vulnerable | Canonical |
| cpe:2.3:o:canonical:ubuntu_linux:12.04:*:lts:*:*:*:*:* | 12.04 | Vulnerable | Canonical |
| cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:lts:*:*:* | 14.04 | Vulnerable | Canonical |
| cpe:2.3:o:canonical:ubuntu_linux:14.10:*:*:*:*:*:*:* | 14.10 | Vulnerable | Canonical |
| cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:* | up to 1.4.17 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6:*:*:*:*:*:*:* | 1.6 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6.1:*:*:*:*:*:*:* | 1.6.1 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6.2:*:*:*:*:*:*:* | 1.6.2 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6.3:*:*:*:*:*:*:* | 1.6.3 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6.4:*:*:*:*:*:*:* | 1.6.4 | Vulnerable | djangoproject |
- cpe:2.3:o:canonical:ubuntu_linux:10.04:*:lts:*:*:*:*:* Versions 10.04 Vulnerable ·Canonical
- cpe:2.3:o:canonical:ubuntu_linux:12.04:*:lts:*:*:*:*:* Versions 12.04 Vulnerable ·Canonical
- cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:lts:*:*:* Versions 14.04 Vulnerable ·Canonical
- cpe:2.3:o:canonical:ubuntu_linux:14.10:*:*:*:*:*:*:* Versions 14.10 Vulnerable ·Canonical
- cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:* Versions up to 1.4.17 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6:*:*:*:*:*:*:* Versions 1.6 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6.1:*:*:*:*:*:*:* Versions 1.6.1 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6.2:*:*:*:*:*:*:* Versions 1.6.2 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6.3:*:*:*:*:*:*:* Versions 1.6.3 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6.4:*:*:*:*:*:*:* Versions 1.6.4 Vulnerable ·djangoproject
Show 8 more CPE
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:djangoproject:django:1.6.5:*:*:*:*:*:*:* | 1.6.5 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6.6:*:*:*:*:*:*:* | 1.6.6 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6.7:*:*:*:*:*:*:* | 1.6.7 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6.8:*:*:*:*:*:*:* | 1.6.8 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6.9:*:*:*:*:*:*:* | 1.6.9 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7:*:*:*:*:*:*:* | 1.7 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7.1:*:*:*:*:*:*:* | 1.7.1 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7.2:*:*:*:*:*:*:* | 1.7.2 | Vulnerable | djangoproject |
- cpe:2.3:a:djangoproject:django:1.6.5:*:*:*:*:*:*:* Versions 1.6.5 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6.6:*:*:*:*:*:*:* Versions 1.6.6 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6.7:*:*:*:*:*:*:* Versions 1.6.7 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6.8:*:*:*:*:*:*:* Versions 1.6.8 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6.9:*:*:*:*:*:*:* Versions 1.6.9 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7:*:*:*:*:*:*:* Versions 1.7 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7.1:*:*:*:*:*:*:* Versions 1.7.1 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7.2:*:*:*:*:*:*:* Versions 1.7.2 Vulnerable ·djangoproject
Remediation
- Fix · GHSA-gv98-g628-m9x5 Django (PyPI) Fixed in 1.4.18 Advisory →
- Fix · GHSA-gv98-g628-m9x5 Django (PyPI) Fixed in 1.6.10 Advisory →
- Fix · GHSA-gv98-g628-m9x5 Django (PyPI) Fixed in 1.7.3 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
Not affected: 4 products
- Red Hat Enterprise Linux OpenStack Platform 5 (Icehouse)
- Red Hat Enterprise Linux OpenStack Platform 6 (Juno)
- Red Hat OpenStack Platform 4
- Red Hat Subscription Asset Manager
Timeline
- 2026-10-02 Threatist record created from CVE-2015-0220
- 2026-10-03 Alias added: GHSA-gv98-g628-m9x5
References
Advisory 8
Other 12
- http://advisories.mageia.org/MGASA-2015-0026.html
- https://github.com/django/django/commit/4c241f1b710da6419d9dca160e80b23b82db7758
- https://github.com/django/django/commit/72e0b033662faa11bb7f516f18a132728aa0ae28
- https://github.com/django/django/commit/de67dedc771ad2edec15c1d00c083a1a084e1e89
- https://github.com/django/django
- https://github.com/django/django/blob/4555a823fd57e261e1b19c778429473256c8ea08/docs/releases/1.4.18.txt#L34-L46
- https://github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2015-5.yaml
- https://web.archive.org/web/20150128111656/http://secunia.com/advisories/62285
- https://web.archive.org/web/20150523054951/http://www.mandriva.com/en/support/security/advisories/advisory/MDVSA-2015:109/?name=MDVSA-2015:109
- https://web.archive.org/web/20150523054953/http://www.mandriva.com/en/support/security/advisories/advisory/MDVSA-2015:036/?name=MDVSA-2015:036
- https://web.archive.org/web/20151104201446/http://secunia.com/advisories/62718
- https://www.djangoproject.com/weblog/2015/jan/13/security
Sources
- CVE-2015-0220 · CVE Program
- CVE-2015-0220 · NVD
- FIRST EPSS
- GHSA-gv98-g628-m9x5 · GitHub Advisory Database · CC BY 4.0
- CVE-2015-0220 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences