The utils.http.is_safe_url function in Django before 1.4.20, 1.5.x, 1.6.x before 1.6.11…
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
- Partial Red Hat: 4 without a fix
Attack profile from CVSS 2.0 · NVD. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-79.
Summary
The utils.http.is_safe_url function in Django before 1.4.20, 1.5.x, 1.6.x before 1.6.11, 1.7.x before 1.7.7, and 1.8.x before 1.8c1 does not properly validate URLs, which allows remote attackers to conduct cross-site scripting (XSS) attacks via a control character in a URL, as demonstrated by a \x08javascript: 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.20 | 1.4.20 | Patch available | GHSA-7fq8-4pv5-5w5c |
| — | Django (PyPI) | 1.5 to before 1.6.11 | 1.6.11 | Patch available | GHSA-7fq8-4pv5-5w5c |
| — | Django (PyPI) | 1.7 to before 1.7.7 | 1.7.7 | Patch available | GHSA-7fq8-4pv5-5w5c |
| — | Django (PyPI) | 1.8a1 to before 1.8c1 | 1.8c1 | Patch available | GHSA-7fq8-4pv5-5w5c |
- — Vendor— Affected all versions Fixed in — No fix listed CNA
- Django (PyPI) Vendor— Affected before 1.4.20 Fixed in 1.4.20 Patch available GHSA-7fq8-4pv5-5w5c
- Django (PyPI) Vendor— Affected 1.5 to before 1.6.11 Fixed in 1.6.11 Patch available GHSA-7fq8-4pv5-5w5c
- Django (PyPI) Vendor— Affected 1.7 to before 1.7.7 Fixed in 1.7.7 Patch available GHSA-7fq8-4pv5-5w5c
- Django (PyPI) Vendor— Affected 1.8a1 to before 1.8c1 Fixed in 1.8c1 Patch available GHSA-7fq8-4pv5-5w5c
CPE configurations NVD · 53
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:debian:debian_linux:7.0:*:*:*:*:*:*:* | 7.0 | Vulnerable | Debian |
| cpe:2.3:o:fedoraproject:fedora:22:*:*:*:*:*:*:* | 22 | Vulnerable | Fedoraproject |
| cpe:2.3:o:opensuse:opensuse:13.2:*:*:*:*:*:*:* | 13.2 | Vulnerable | openSUSE |
| cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:* | up to 1.4.19 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5:*:*:*:*:*:*:* | 1.5 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5:alpha:*:*:*:*:*:* | 1.5 alpha | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5:beta:*:*:*:*:*:* | 1.5 beta | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5.1:*:*:*:*:*:*:* | 1.5.1 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5.2:*:*:*:*:*:*:* | 1.5.2 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5.3:*:*:*:*:*:*:* | 1.5.3 | Vulnerable | djangoproject |
- cpe:2.3:o:debian:debian_linux:7.0:*:*:*:*:*:*:* Versions 7.0 Vulnerable ·Debian
- cpe:2.3:o:fedoraproject:fedora:22:*:*:*:*:*:*:* Versions 22 Vulnerable ·Fedoraproject
- cpe:2.3:o:opensuse:opensuse:13.2:*:*:*:*:*:*:* Versions 13.2 Vulnerable ·openSUSE
- cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:* Versions up to 1.4.19 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5:*:*:*:*:*:*:* Versions 1.5 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5:alpha:*:*:*:*:*:* Versions 1.5 alpha Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5:beta:*:*:*:*:*:* Versions 1.5 beta Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5.1:*:*:*:*:*:*:* Versions 1.5.1 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5.2:*:*:*:*:*:*:* Versions 1.5.2 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5.3:*:*:*:*:*:*:* Versions 1.5.3 Vulnerable ·djangoproject
Show 43 more CPE
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:djangoproject:django:1.5.4:*:*:*:*:*:*:* | 1.5.4 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5.5:*:*:*:*:*:*:* | 1.5.5 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5.6:*:*:*:*:*:*:* | 1.5.6 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5.7:*:*:*:*:*:*:* | 1.5.7 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5.8:*:*:*:*:*:*:* | 1.5.8 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5.9:*:*:*:*:*:*:* | 1.5.9 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5.10:*:*:*:*:*:*:* | 1.5.10 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5.11:*:*:*:*:*:*:* | 1.5.11 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.5.12:*:*:*:*:*:*:* | 1.5.12 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6:-:*:*:*:*:*:* | 1.6 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6:beta1:*:*:*:*:*:* | 1.6 beta1 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6:beta2:*:*:*:*:*:* | 1.6 beta2 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6:beta3:*:*:*:*:*:* | 1.6 beta3 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.6:beta4:*:*:*:*:*:* | 1.6 beta4 | 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: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.6.10:*:*:*:*:*:*:* | 1.6.10 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7:beta1:*:*:*:*:*:* | 1.7 beta1 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7:beta2:*:*:*:*:*:* | 1.7 beta2 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7:beta3:*:*:*:*:*:* | 1.7 beta3 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7:beta4:*:*:*:*:*:* | 1.7 beta4 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7:rc1:*:*:*:*:*:* | 1.7 rc1 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7:rc2:*:*:*:*:*:* | 1.7 rc2 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7:rc3:*:*:*:*:*:* | 1.7 rc3 | 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.7.3:*:*:*:*:*:*:* | 1.7.3 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7.4:*:*:*:*:*:*:* | 1.7.4 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7.5:*:*:*:*:*:*:* | 1.7.5 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.7.6:*:*:*:*:*:*:* | 1.7.6 | Vulnerable | djangoproject |
| cpe:2.3:a:djangoproject:django:1.8.0:*:*:*:*:*:*:* | 1.8.0 | Vulnerable | djangoproject |
| cpe:2.3:o:oracle:solaris:11.2:*:*:*:*:*:*:* | 11.2 | Vulnerable | Oracle |
| 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:1.5.4:*:*:*:*:*:*:* Versions 1.5.4 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5.5:*:*:*:*:*:*:* Versions 1.5.5 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5.6:*:*:*:*:*:*:* Versions 1.5.6 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5.7:*:*:*:*:*:*:* Versions 1.5.7 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5.8:*:*:*:*:*:*:* Versions 1.5.8 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5.9:*:*:*:*:*:*:* Versions 1.5.9 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5.10:*:*:*:*:*:*:* Versions 1.5.10 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5.11:*:*:*:*:*:*:* Versions 1.5.11 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.5.12:*:*:*:*:*:*:* Versions 1.5.12 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6:-:*:*:*:*:*:* Versions 1.6 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6:beta1:*:*:*:*:*:* Versions 1.6 beta1 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6:beta2:*:*:*:*:*:* Versions 1.6 beta2 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6:beta3:*:*:*:*:*:* Versions 1.6 beta3 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.6:beta4:*:*:*:*:*:* Versions 1.6 beta4 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
- 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.6.10:*:*:*:*:*:*:* Versions 1.6.10 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7:beta1:*:*:*:*:*:* Versions 1.7 beta1 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7:beta2:*:*:*:*:*:* Versions 1.7 beta2 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7:beta3:*:*:*:*:*:* Versions 1.7 beta3 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7:beta4:*:*:*:*:*:* Versions 1.7 beta4 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7:rc1:*:*:*:*:*:* Versions 1.7 rc1 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7:rc2:*:*:*:*:*:* Versions 1.7 rc2 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7:rc3:*:*:*:*:*:* Versions 1.7 rc3 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
- cpe:2.3:a:djangoproject:django:1.7.3:*:*:*:*:*:*:* Versions 1.7.3 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7.4:*:*:*:*:*:*:* Versions 1.7.4 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7.5:*:*:*:*:*:*:* Versions 1.7.5 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.7.6:*:*:*:*:*:*:* Versions 1.7.6 Vulnerable ·djangoproject
- cpe:2.3:a:djangoproject:django:1.8.0:*:*:*:*:*:*:* Versions 1.8.0 Vulnerable ·djangoproject
- cpe:2.3:o:oracle:solaris:11.2:*:*:*:*:*:*:* Versions 11.2 Vulnerable ·Oracle
- 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
Remediation
- Fix · GHSA-7fq8-4pv5-5w5c Django (PyPI) Fixed in 1.4.20 Advisory →
- Fix · GHSA-7fq8-4pv5-5w5c Django (PyPI) Fixed in 1.6.11 Advisory →
- Fix · GHSA-7fq8-4pv5-5w5c Django (PyPI) Fixed in 1.7.7 Advisory →
- Fix · GHSA-7fq8-4pv5-5w5c Django (PyPI) Fixed in 1.8c1 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux OpenStack Platform 5 (Icehouse) | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux OpenStack Platform 6 (Juno) | Affected | No fix yet: Fix deferred |
| Red Hat OpenStack Platform 4 | Affected | No fix planned: Will not fix |
| Red Hat Subscription Asset Manager | Affected | No fix planned: Will not fix |
Timeline
- 2026-10-02 Threatist record created from CVE-2015-2317
- 2026-10-03 Alias added: GHSA-7fq8-4pv5-5w5c
References
Advisory 10
Other 8
- https://github.com/django/django/commit/2342693b31f740a422abf7267c53b4e7bc487c1b
- https://github.com/django/django/commit/2a4113dbd532ce952308992633d802dc169a75f1
- https://github.com/django/django/commit/5510f070711540aaa8d3707776cd77494e688ef9
- https://github.com/django/django/commit/770427c2896a078925abfca2317486b284d22f04
- https://github.com/django/django
- https://github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2015-9.yaml
- https://web.archive.org/web/20200228131706/http://www.securityfocus.com/bid/73319
- https://www.djangoproject.com/weblog/2015/mar/18/security-releases
Sources
- CVE-2015-2317 · CVE Program
- CVE-2015-2317 · NVD
- FIRST EPSS
- GHSA-7fq8-4pv5-5w5c · GitHub Advisory Database · CC BY 4.0
- CVE-2015-2317 · 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