Every CVE Search/ Get API key

CVE-2017-7234

Django open redirect

6.1 MediumFix available

A maliciously crafted URL to a Django (1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18) site using the django.views.static.serve() view could redirect to any other domain, aka an open redirect vulnerability.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
None

Exploit likelihood

1.85%Up 0.8 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 6.1

A maliciously crafted URL to a Django (1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18) site using the django.views.static.serve() view could redirect to any other domain, aka an open redirect vulnerability.

Record
CVE-2017-7234
CVSS 3.0
6.1 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
CVSS 2.0
5.8 MediumAV:N/AC:M/Au:N/C:P/I:P/A:N
Weakness
CWE-601
Updated
2026-11-02
CVE List No score

A maliciously crafted URL to a Django (1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18) site using the django.views.static.serve() view could redirect to any other domain, aka an open redirect vulnerability.

Record
CVE-2017-7234
Updated
2026-11-02
EUVDEUVD-2017-0024 No score

A maliciously crafted URL to a Django (1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18) site using the django.views.static.serve() view could redirect to any other domain, aka an open redirect vulnerability.

Record
EUVD-2017-0024
Updated
2026-11-03
GitHub AdvisoriesGHSA-h4hv-m4h4-mhwg 5.3

Django open redirect

A maliciously crafted URL to a Django (1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18) site using the django.views.static.serve() view could redirect to any other domain, aka an open redirect vulnerability.

Record
GHSA-h4hv-m4h4-mhwg
CVSS 4.0
5.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
CVSS 3.0
6.1 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-601
Updated
2026-11-02
OSVALPINE-CVE-2017-7234 6.1

A maliciously crafted URL to a Django (1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18) site using the django.views.static.serve() view could redirect to any other domain, aka an open redirect vulnerability.

Record
ALPINE-CVE-2017-7234
CVSS 3.0
6.1 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
OSV 6.1

A maliciously crafted URL to a Django (1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18) site using the django.views.static.serve() view could redirect to any other domain, aka an open redirect vulnerability.

Record
CVE-2017-7234
CVSS 3.0
6.1 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
Show 17 moreShow less
OSVDEBIAN-CVE-2017-7234 6.1

A maliciously crafted URL to a Django (1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18) site using the django.views.static.serve() view could redirect to any other domain, aka an open redirect vulnerability.

Record
DEBIAN-CVE-2017-7234
CVSS 3.0
6.1 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
OSVGHSA-h4hv-m4h4-mhwg 5.3

Django open redirect

A maliciously crafted URL to a Django (1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18) site using the django.views.static.serve() view could redirect to any other domain, aka an open redirect vulnerability.

Record
GHSA-h4hv-m4h4-mhwg
CVSS 4.0
5.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
CVSS 3.0
6.1 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-601
Updated
2026-11-02
OSVUBUNTU-CVE-2017-7234 6.1

A maliciously crafted URL to a Django (1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18) site using the django.views.static.serve() view could redirect to any other domain, aka an open redirect vulnerability.

Record
UBUNTU-CVE-2017-7234
CVSS 3.0
6.1 MediumCVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
OSVMGASA-2017-0106 No score

Updated python-django packages fix security vulnerability

It was discovered that Django incorrectly handled numeric redirect URLs. A remote attacker could possibly use this issue to perform XSS attacks, and to use a Django server as an open redirect. (CVE-2017-7233)

Phithon Gong discovered that Django incorrectly handled certain URLs when the jango.views.static.serve() view is being used. A remote attacker could possibly use a Django server as an open redirect. (CVE-2017-7234)

Record
MGASA-2017-0106
Updated
2026-11-02
OSVopenSUSE-SU-2018:0632-1 No score

Security update for python-Django

This update for python-Django fixes the following issues: Update to version 1.11.10 LTS

  • Fixes CVE-2018-6188 boo#1077714, CVE-2017-7234, CVE-2017-7233, CVE-2017-12794
Record
openSUSE-SU-2018:0632-1
Updated
2026-11-02
OSVopenSUSE-SU-2023:0077-1 No score

Security update for python-Django

This update for python-Django fixes the following issues:

  • CVE-2023-24580: Prevent DOS in file uploads. (boo#1208082)

update to 1.11.15

  • CVE-2018-14574: Fixed Open redirect possibility in CommonMiddleware (boo#1102680)
  • Fixed WKBWriter.write() and write_hex() for empty polygons on GEOS 3.6.1+
  • Fixed a regression in Django 1.10 that could result in large memory usage when making edits using ModelAdmin.list_editable
  • Fixed a regression in Django 1.11.12 where QuerySet.values() or values_list() after combining an annotated and unannotated queryset with union(), difference(), or intersection() crashed due to mismatching columns
  • Fixed crashes in django.contrib.admindocs when a view is a callable object, such as django.contrib.syndication.views.Feed
  • Fixed a regression in Django 1.11.8 where altering a field with a unique constraint may drop and rebuild more foreign keys than necessary
  • Fixed a regression in Django 1.11.8 where combining two annotated values_list() querysets with union(), difference(), or intersection() crashed due to mismatching columns
  • Fixed a regression in Django 1.11 where an empty choice could be initially selected for the SelectMultiple and CheckboxSelectMultiple widgets
  • Update to 1.11.11

    • Fixes CVE-2018-7536, CVE-2018-7537
  • Update to 1.11.10 LTS

    • Fixes CVE-2018-6188 boo#1077714, CVE-2017-7234, CVE-2017-7233, CVE-2017-12794
  • Change Requires: python-Pillow to python-imaging for compatibility with SLE-12 which provides PIL instead of Pillow.

  • Update to 1.9.9

    Bugfixes

    • Fixed invalid HTML in template postmortem on the debug page (#26938).
    • Fixed some GIS database function crashes on MySQL 5.7 (#26657).
  • Update to 1.9.8 Fix XSS in admin’s add/change related popup (boo#988420) Unsafe usage of JavaScript’s Element.innerHTML could result in XSS in the admin’s add/change related popup. Element.textContent is now used to prevent execution of the data. The debug view also used innerHTML. Although a security issue wasn’t identified there, out of an abundance of caution it’s also updated to use textContent. Bugfixes

    • Fixed missing varchar/text_pattern_ops index on CharField and TextField respectively when using AddField on PostgreSQL (#26889).
    • Fixed makemessages crash on Python 2 with non-ASCII file names (#26897).
  • Update to 1.9.7 Bugfixes

    • Removed the need for the request context processor on the admin login page to fix a regression in 1.9 (#26558).
    • Fixed translation of password validators’ help_text in forms (#26544).
    • Fixed a regression causing the cached template loader to crash when using lazy template names (#26603).
    • Fixed on_commit callbacks execution order when callbacks make transactions (#26627).
    • Fixed HStoreField to raise a ValidationError instead of crashing on non-dictionary JSON input (#26672).
    • Fixed dbshell crash on PostgreSQL with an empty database name (#26698).
    • Fixed a regression in queries on a OneToOneField that has to_field and primary_key=True (#26667).
  • Update to 1.9.6 Bugfixes

    • Added support for relative path redirects to the test client and to SimpleTestCase.assertRedirects() because Django 1.9 no longer converts redirects to absolute URIs (#26428).
    • Fixed TimeField microseconds round-tripping on MySQL and SQLite (#26498).
    • Prevented makemigrations from generating infinite migrations for a model field that references a functools.partial (#26475).
    • Fixed a regression where SessionBase.pop() returned None rather than raising a KeyError for nonexistent values (#26520).
    • Fixed a regression causing the cached template loader to crash when using template names starting with a dash (#26536).
    • Restored conversion of an empty string to null when saving values of GenericIPAddressField on SQLite and MySQL (#26557).
    • Fixed a makemessages…
Record
openSUSE-SU-2023:0077-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:11205-1 No score

python36-Django-3.2.7-2.3 on GA media

These are all security issues fixed in the python36-Django-3.2.7-2.3 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11205-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:13887-1 No score

python310-Django-4.2.11-2.1 on GA media

These are all security issues fixed in the python310-Django-4.2.11-2.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13887-1
Updated
2026-11-02
OSVopenSUSE-SU-2024:14208-1 No score

python310-Django4-4.2.14-1.1 on GA media

These are all security issues fixed in the python310-Django4-4.2.14-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14208-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:10005-1 No score

python312-Django6-6.0-1.1 on GA media

These are all security issues fixed in the python312-Django6-6.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10005-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11235-1 No score

python313-Django4-4.2.30-4.1 on GA media

These are all security issues fixed in the python313-Django4-4.2.30-4.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11235-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11248-1 No score

python313-Django-5.2.16-1.1 on GA media

These are all security issues fixed in the python313-Django-5.2.16-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11248-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:11270-1 No score

python313-Django5-5.2.16-1.1 on GA media

These are all security issues fixed in the python313-Django5-5.2.16-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:11270-1
Updated
2026-11-02
OSVPYSEC-2017-10 No score

A maliciously crafted URL to a Django (1.10 before 1.10.7, 1.9 before 1.9.13, and 1.8 before 1.8.18) site using the django.views.static.serve() view could redirect to any other domain, aka an open redirect vulnerability.

Record
PYSEC-2017-10
Updated
2026-11-02
OSVSUSE-SU-2018:0973-1 No score

Security update for python-Django

This update for python-Django fixes the following issues:

Security issues fixed:

  • CVE-2018-7537: Fixed catastrophic backtracking in django.utils.text.Truncator. (bsc#1083305)
  • CVE-2018-7536: Fixed catastrophic backtracking in urlize and urlizetrunc template filters. (bsc#1083304)
  • CVE-2017-12794: Fixed XSS possibility in traceback section of technical 500 debug page (bsc#1056284)
  • CVE-2017-7234: Open redirect vulnerability in django.views.static.serve() (bsc#1031451)
  • CVE-2017-7233: Open redirect and possible XSS attack via user-supplied numeric redirect URLs (bsc#1031450)
  • CVE-2016-9014: DNS rebinding vulnerability when DEBUG=True (bsc#1008047)
  • CVE-2016-9013: User with hardcoded password created when running tests on Oracle (bsc#1008050)
  • CVE-2016-7401: CSRF protection bypass on a site with Google Analytics (bsc#1001374)
Record
SUSE-SU-2018:0973-1
Updated
2026-11-02
OSVSUSE-SU-2018:1102-1 No score

Security update for python-Django

This update for python-Django fixes the following issues:

Security issues fixed:

  • CVE-2018-7537: Fixed catastrophic backtracking in django.utils.text.Truncator. (bsc#1083305)
  • CVE-2018-7536: Fixed catastrophic backtracking in urlize and urlizetrunc template filters. (bsc#1083304)
  • CVE-2017-12794: Fixed XSS possibility in traceback section of technical 500 debug page (bsc#1056284)
  • CVE-2017-7234: Open redirect vulnerability in django.views.static.serve() (bsc#1031451)
  • CVE-2017-7233: Open redirect and possible XSS attack via user-supplied numeric redirect URLs (bsc#1031450)
  • CVE-2016-9014: DNS rebinding vulnerability when DEBUG=True (bsc#1008047)
  • CVE-2016-9013: User with hardcoded password created when running tests on Oracle (bsc#1008050)
  • CVE-2016-7401: CSRF protection bypass on a site with Google Analytics (bsc#1001374)
  • CVE-2016-2512: Vulnerability in the function tils.http.is_safe_url could allow remote users to arbitrary web site and conduct phishing attacks. (bsc#bnc#967999)
Record
SUSE-SU-2018:1102-1
Updated
2026-11-02
OSVUSN-3254-1 No score

python-django vulnerabilities

It was discovered that Django incorrectly handled numeric redirect URLs. A remote attacker could possibly use this issue to perform XSS attacks, and to use a Django server as an open redirect. (CVE-2017-7233)

Phithon Gong discovered that Django incorrectly handled certain URLs when the jango.views.static.serve() view is being used. A remote attacker could possibly use a Django server as an open redirect. (CVE-2017-7234)

Record
USN-3254-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
django
PyPI
1.10 up to 1.10.7
1.10.7
django
PyPI
1.9 up to 1.9.13
1.9.13
django
PyPI
1.8 up to 1.8.18
1.8.18
py-django
Alpine:v3.10
before 1.10.7-r0
1.10.7-r0
py-django
Alpine:v3.2
before 1.8.18-r0
1.8.18-r0
py-django
Alpine:v3.3
before 1.8.18-r0
1.8.18-r0
py-django
Alpine:v3.4
before 1.8.18-r0
1.8.18-r0
py-django
Alpine:v3.5
before 1.8.18-r0
1.8.18-r0
py-django
Alpine:v3.6
before 1.10.7-r0
1.10.7-r0
py-django
Alpine:v3.7
before 1.10.7-r0
1.10.7-r0
Show 29 moreShow less
Affected packages
PackageAffectedFixed
py-django
Alpine:v3.8
before 1.10.7-r0
1.10.7-r0
py-django
Alpine:v3.9
before 1.10.7-r0
1.10.7-r0
py3-django
Alpine:v3.11
before 1.10.7-r0
1.10.7-r0
py3-django
Alpine:v3.12
before 1.10.7-r0
1.10.7-r0
python-django
Debian:12
before 1:1.10.7-1
1:1.10.7-1
python-django
Debian:13
before 1:1.10.7-1
1:1.10.7-1
python-django
Debian:14
before 1:1.10.7-1
1:1.10.7-1
python-django
Debian:7
From an advisory covering 2 CVEs
before 1.4.22-1+deb7u3, plus listed versions
1.4.22-11.4.22-1+deb7u11.4.22-1+deb7u21.4.5-11.4.5-1+deb7u1
Show 22 moreShow less
1.4.5-1+deb7u101.4.5-1+deb7u111.4.5-1+deb7u11~bpo60+11.4.5-1+deb7u121.4.5-1+deb7u131.4.5-1+deb7u13~bpo60+11.4.5-1+deb7u141.4.5-1+deb7u14~bpo60+11.4.5-1+deb7u151.4.5-1+deb7u161.4.5-1+deb7u171.4.5-1+deb7u21.4.5-1+deb7u31.4.5-1+deb7u41.4.5-1+deb7u4~bpo60+11.4.5-1+deb7u51.4.5-1+deb7u61.4.5-1+deb7u71.4.5-1+deb7u7~bpo60+11.4.5-1+deb7u81.4.5-1+deb7u8~bpo60+11.4.5-1+deb7u9
1.4.22-1+deb7u3
python-django
Debian:8
From an advisory covering 4 CVEs
before 1.7.11-1+deb8u2, plus listed versions
1.7.10-11.7.11-11.7.11-1+deb8u11.7.7-11.7.7-1+deb8u1
Show 5 moreShow less
1.7.7-1+deb8u21.7.7-1+deb8u31.7.7-1+deb8u41.7.7-1+deb8u51.7.9-1
1.7.11-1+deb8u2
django
PyPI
1.10 up to 1.10.7, plus listed versions
1.10.11.10.21.10.31.10.41.10.51.10.6
1.10.7
django
PyPI
1.9 up to 1.9.13, plus listed versions
1.9.11.9.101.9.111.9.121.9.2
Show 7 moreShow less
1.9.31.9.41.9.51.9.61.9.71.9.81.9.9
1.9.13
django
PyPI
1.8 up to 1.8.18, plus listed versions
1.8.11.8.101.8.111.8.121.8.13
Show 12 moreShow less
1.8.141.8.151.8.161.8.171.8.21.8.31.8.41.8.51.8.61.8.71.8.81.8.9
1.8.18
python-django
Mageia:5
From an advisory covering 2 CVEs
before 1.8.16-1.1.mga5
1.8.16-1.1.mga5
django
PyPI
1.10 up to 1.10.7, 1.9 up to 1.9.13, 1.8 up to 1.8.18, plus listed versions
1.10.11.10.21.10.31.10.41.10.5
Show 30 moreShow less
1.10.61.8.11.8.101.8.111.8.121.8.131.8.141.8.151.8.161.8.171.8.21.8.31.8.41.8.51.8.61.8.71.8.81.8.91.9.11.9.101.9.111.9.121.9.21.9.31.9.41.9.51.9.61.9.71.9.81.9.9
1.10.71.9.131.8.18
python-Django
SUSE:OpenStack Cloud 7
From an advisory covering 8 CVEs
before 1.8.19-3.4.1
1.8.19-3.4.1
python-Django
SUSE:OpenStack Cloud 6
From an advisory covering 9 CVEs
before 1.8.19-3.6.1
1.8.19-3.6.1
python-django
Ubuntu:14.04:LTS
before 1.6.11-0ubuntu1.1, plus listed versions
1.5.4-1ubuntu11.6-11.6.1-11.6.1-21.6.1-2ubuntu0.1
Show 15 moreShow less
1.6.1-2ubuntu0.21.6.1-2ubuntu0.31.6.1-2ubuntu0.41.6.1-2ubuntu0.51.6.1-2ubuntu0.61.6.1-2ubuntu0.81.6.1-2ubuntu0.91.6.1-2ubuntu0.101.6.1-2ubuntu0.111.6.1-2ubuntu0.121.6.1-2ubuntu0.131.6.1-2ubuntu0.141.6.1-2ubuntu0.151.6.1-2ubuntu0.161.6.11-0ubuntu1
1.6.11-0ubuntu1.1
python-django
Ubuntu:16.04:LTS
before 1.8.7-1ubuntu5.5, plus listed versions
1.7.9-1ubuntu51.8.5-2ubuntu11.8.7-1ubuntu11.8.7-1ubuntu21.8.7-1ubuntu3
Show 5 moreShow less
1.8.7-1ubuntu41.8.7-1ubuntu51.8.7-1ubuntu5.11.8.7-1ubuntu5.21.8.7-1ubuntu5.4
1.8.7-1ubuntu5.5
python-django
Ubuntu:14.04:LTS
From an advisory covering 2 CVEs
before 1.6.11-0ubuntu1.1, plus listed versions
1.5.4-1ubuntu11.6-11.6.1-11.6.1-21.6.1-2ubuntu0.1
Show 15 moreShow less
1.6.1-2ubuntu0.21.6.1-2ubuntu0.31.6.1-2ubuntu0.41.6.1-2ubuntu0.51.6.1-2ubuntu0.61.6.1-2ubuntu0.81.6.1-2ubuntu0.91.6.1-2ubuntu0.101.6.1-2ubuntu0.111.6.1-2ubuntu0.121.6.1-2ubuntu0.131.6.1-2ubuntu0.141.6.1-2ubuntu0.151.6.1-2ubuntu0.161.6.11-0ubuntu1
1.6.11-0ubuntu1.1
python-django
Ubuntu:16.04:LTS
From an advisory covering 2 CVEs
before 1.8.7-1ubuntu5.5, plus listed versions
1.7.9-1ubuntu51.8.5-2ubuntu11.8.7-1ubuntu11.8.7-1ubuntu21.8.7-1ubuntu3
Show 5 moreShow less
1.8.7-1ubuntu41.8.7-1ubuntu51.8.7-1ubuntu5.11.8.7-1ubuntu5.21.8.7-1ubuntu5.4
1.8.7-1ubuntu5.5
python-Django
SUSE:Package Hub 12
From an advisory covering 4 CVEs
before 1.11.10-5.1
1.11.10-5.1
python-Django
SUSE:Package Hub 12 SP1
From an advisory covering 11 CVEs
before 1.11.15-2.1
1.11.15-2.1
python-Django
openSUSE:Tumbleweed
From an advisory covering 30 CVEs
before 3.2.7-2.3
3.2.7-2.3
python-Django
openSUSE:Tumbleweed
From an advisory covering 30 CVEs
before 4.2.11-2.1
4.2.11-2.1
python-Django4
openSUSE:Tumbleweed
From an advisory covering 51 CVEs
before 4.2.14-1.1
4.2.14-1.1
python-Django6
openSUSE:Tumbleweed
From an advisory covering 70 CVEs
before 6.0-1.1
6.0-1.1
python-Django4
openSUSE:Tumbleweed
From an advisory covering 59 CVEs
before 4.2.30-4.1
4.2.30-4.1
python-Django
openSUSE:Tumbleweed
From an advisory covering 49 CVEs
before 5.2.16-1.1
5.2.16-1.1
python-Django5
openSUSE:Tumbleweed
From an advisory covering 93 CVEs
before 5.2.16-1.1
5.2.16-1.1

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2017-7234 is a medium vulnerability (CVSS 6.1) in Djangoproject Django, published April 4, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.85%, the 79th percentile. Fixed in django 1.10.7.

References

Show 131 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open