Every CVE Search/ Get API key

CVE-2017-12794

Django vulnerable to XSS on 500 pages

6.1 MediumFix available

In Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5, HTML autoescaping was disabled in a portion of the template for the technical 500 debug page. Given the right circumstances, this allowed a cross-site scripting attack. This vulnerability shouldn't affect most production sites since you shouldn't run with "DEBUG = True" (which makes this page accessible) in your production settings.

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

23.6%Up 22.5 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 6.1

In Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5, HTML autoescaping was disabled in a portion of the template for the technical 500 debug page. Given the right circumstances, this allowed a cross-site scripting attack. This vulnerability shouldn't affect most production sites since you shouldn't run with "DEBUG = True" (which makes this page accessible) in your production settings.

Record
CVE-2017-12794
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
4.3 MediumAV:N/AC:M/Au:N/C:N/I:P/A:N
Weakness
CWE-79
Updated
2026-11-02
CVE List No score

In Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5, HTML autoescaping was disabled in a portion of the template for the technical 500 debug page. Given the right circumstances, this allowed a cross-site scripting attack. This vulnerability shouldn't affect most production sites since you shouldn't run with "DEBUG = True" (which makes this page accessible) in your production settings.

Record
CVE-2017-12794
Updated
2026-11-02
EUVDEUVD-2017-0025 No score

In Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5, HTML autoescaping was disabled in a portion of the template for the technical 500 debug page. Given the right circumstances, this allowed a cross-site scripting attack. This vulnerability shouldn't affect most production sites since you shouldn't run with "DEBUG = True" (which makes this page accessible) in your production settings.

Record
EUVD-2017-0025
Updated
2026-11-03
GitHub AdvisoriesGHSA-9r8w-6x8c-6jr9 5.3

Django vulnerable to XSS on 500 pages

In Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5, HTML autoescaping was disabled in a portion of the template for the technical 500 debug page. Given the right circumstances, this allowed a cross-site scripting attack. This vulnerability shouldn't affect most production sites since you shouldn't run with DEBUG = True (which makes this page accessible) in your production settings.

Record
GHSA-9r8w-6x8c-6jr9
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-79
Updated
2026-11-02
OSVALPINE-CVE-2017-12794 6.1

In Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5, HTML autoescaping was disabled in a portion of the template for the technical 500 debug page. Given the right circumstances, this allowed a cross-site scripting attack. This vulnerability shouldn't affect most production sites since you shouldn't run with "DEBUG = True" (which makes this page accessible) in your production settings.

Record
ALPINE-CVE-2017-12794
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

In Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5, HTML autoescaping was disabled in a portion of the template for the technical 500 debug page. Given the right circumstances, this allowed a cross-site scripting attack. This vulnerability shouldn't affect most production sites since you shouldn't run with "DEBUG = True" (which makes this page accessible) in your production settings.

Record
CVE-2017-12794
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 14 moreShow less
OSVDEBIAN-CVE-2017-12794 6.1

In Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5, HTML autoescaping was disabled in a portion of the template for the technical 500 debug page. Given the right circumstances, this allowed a cross-site scripting attack. This vulnerability shouldn't affect most production sites since you shouldn't run with "DEBUG = True" (which makes this page accessible) in your production settings.

Record
DEBIAN-CVE-2017-12794
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-9r8w-6x8c-6jr9 5.3

Django vulnerable to XSS on 500 pages

In Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5, HTML autoescaping was disabled in a portion of the template for the technical 500 debug page. Given the right circumstances, this allowed a cross-site scripting attack. This vulnerability shouldn't affect most production sites since you shouldn't run with DEBUG = True (which makes this page accessible) in your production settings.

Record
GHSA-9r8w-6x8c-6jr9
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-79
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-44 No score

In Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5, HTML autoescaping was disabled in a portion of the template for the technical 500 debug page. Given the right circumstances, this allowed a cross-site scripting attack. This vulnerability shouldn't affect most production sites since you shouldn't run with "DEBUG = True" (which makes this page accessible) in your production settings.

Record
PYSEC-2017-44
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

Affected products

Affected packages

Affected packages
PackageAffectedFixed
django
PyPI
1.10a1 up to 1.10.8
1.10.8
django
PyPI
1.11a1 up to 1.11.5
1.11.5
py-django
Alpine:v3.10
before 1.11.5-r0
1.11.5-r0
py-django
Alpine:v3.6
before 1.11.11-r0
1.11.11-r0
py-django
Alpine:v3.7
before 1.11.5-r0
1.11.5-r0
py-django
Alpine:v3.8
before 1.11.5-r0
1.11.5-r0
py-django
Alpine:v3.9
before 1.11.5-r0
1.11.5-r0
py3-django
Alpine:v3.11
before 1.11.5-r0
1.11.5-r0
py3-django
Alpine:v3.12
before 1.11.5-r0
1.11.5-r0
python-django
Debian:12
before 1:1.11.5-1
1:1.11.5-1
Show 16 moreShow less
Affected packages
PackageAffectedFixed
python-django
Debian:13
before 1:1.11.5-1
1:1.11.5-1
python-django
Debian:14
before 1:1.11.5-1
1:1.11.5-1
django
PyPI
1.10a1 up to 1.10.8, plus listed versions
1.101.10.11.10.21.10.31.10.4
Show 5 moreShow less
1.10.51.10.61.10.71.10b11.10rc1
1.10.8
django
PyPI
1.11a1 up to 1.11.5, plus listed versions
1.111.11.11.11.21.11.31.11.41.11b11.11rc1
1.11.5
django
PyPI
1.10 up to 1.10.8, 1.11 up to 1.11.5, plus listed versions
1.10.11.10.21.10.31.10.41.10.5
Show 6 moreShow less
1.10.61.10.71.11.11.11.21.11.31.11.4
1.10.81.11.5
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
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

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
NucleiDjango Debug Page - Cross-Site Scripting

History

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

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

In short

CVE-2017-12794 is a medium vulnerability (CVSS 6.1) in Djangoproject Django, published September 7, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 23.6%, the 97th percentile. Fixed in django 1.10.8.

References

Show 123 moreShow less
This page doesn't list everything

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

MoveEnter Open