Django 1.8.13/1.9.7 Admin Interface views/debug.py innerHTML cross site scripting
CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
---|---|---|
5.8 | $0-$5k | 0.00 |
A vulnerability was found in Django 1.8.13/1.9.7 (Content Management System). It has been rated as problematic. This issue affects an unknown code of the file views/debug.py of the component Admin Interface. The manipulation of the argument innerHTML
with an unknown input leads to a cross site scripting vulnerability. Using CWE to declare the problem leads to CWE-79. The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. Impacted is confidentiality, and integrity.
The weakness was presented 07/18/2016 by Benjamin Kunz Mejri with Vulnerability Laboratory as Django security releases issued: 1.10 release candidate 1, 1.9.8, and 1.8.14 as confirmed news (Website). It is possible to read the advisory at djangoproject.com. The public release was coordinated in cooperation with the project team. The identification of this vulnerability is CVE-2016-6186 since 07/08/2016. The exploitation is known to be easy. The attack may be initiated remotely. No form of authentication is needed for a successful exploitation. It demands that the victim is doing some kind of user interaction. Technical details as well as a public exploit are known. The attack technique deployed by this issue is T1059.007 according to MITRE ATT&CK. The following code is the reason for this vulnerability:
s.innerHTML = s.innerHTML == uarr ? darr : uarr;The advisory points out:
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.
The exploit is available at exploit-db.com. It is declared as proof-of-concept. The vulnerability scanner Nessus provides a plugin with the ID 92686 (Fedora 24 : python-django (2016-b7e31a0b9a)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Fedora Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 171064 (OpenSUSE Security Update for python-Django (openSUSE-SU-2018:0826-1)).
Upgrading to version 1.8.14 or 1.9.8 eliminates this vulnerability. Applying a patch is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version. A possible mitigation has been published immediately after the disclosure of the vulnerability. The vulnerability will be addressed with the following lines of code:
s.textContent = s.textContent == uarr ? darr : uarr;
The vulnerability is also documented in the databases at Tenable (92686) and Exploit-DB (40129). See 92215, 93264 and 106168 for similar entries.
Product
Type
Name
Version
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB CVSS-B Score: 🔍VulDB CVSS-BT Score: 🔍
VulDB Vector: 🔍
VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.1VulDB Meta Temp Score: 5.8
VulDB Base Score: 6.1
VulDB Temp Score: 5.5
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 6.1
NVD Vector: 🔍
CVSSv2
AV | AC | Au | C | I | A |
---|---|---|---|---|---|
💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
---|---|---|---|---|---|
unlock | unlock | unlock | unlock | unlock | unlock |
unlock | unlock | unlock | unlock | unlock | unlock |
unlock | unlock | unlock | unlock | unlock | unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Cross site scriptingCWE: CWE-79 / CWE-74 / CWE-707
CAPEC: 🔍
ATT&CK: 🔍
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Proof-of-Concept
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
0-Day | unlock | unlock | unlock | unlock |
---|---|---|---|---|
Today | unlock | unlock | unlock | unlock |
Nessus ID: 92686
Nessus Name: Fedora 24 : python-django (2016-b7e31a0b9a)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
OpenVAS ID: 703622
OpenVAS Name: Debian Security Advisory DSA 3622-1 (python-django - security update)
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Exploit-DB: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Upgrade: Django 1.8.14/1.9.8
Patch: github.com
Timeline
07/08/2016 🔍07/18/2016 🔍
07/18/2016 🔍
07/18/2016 🔍
07/19/2016 🔍
07/20/2016 🔍
08/03/2016 🔍
08/05/2016 🔍
09/09/2022 🔍
Sources
Advisory: Django security releases issued: 1.10 release candidate 1, 1.9.8, and 1.8.14Researcher: Benjamin Kunz Mejri
Organization: Vulnerability Laboratory
Status: Confirmed
Confirmation: 🔍
Coordinated: 🔍
CVE: CVE-2016-6186 (🔍)
OVAL: 🔍
SecurityTracker: 1036338
SecurityFocus: 92058 - Django CMS 'Editor - Snippets' Module HTML Injection Vulnerability
scip Labs: https://www.scip.ch/en/?labs.20161013
See also: 🔍
Entry
Created: 07/20/2016 15:46Updated: 09/09/2022 07:26
Changes: 07/20/2016 15:46 (79), 03/04/2019 16:38 (17), 09/09/2022 07:26 (3)
Complete: 🔍
No comments yet. Languages: en.
Please log in to comment.