Django 1.8.13/1.9.7 Admin Interface views/debug.py innerHTML cross site scripting

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
5.8$0-$5k0.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.

Productinfo

Type

Name

Version

License

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB CVSS-B Score: 🔍
VulDB CVSS-BT Score: 🔍
VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 6.1
VulDB 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: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
unlockunlockunlockunlockunlockunlock
unlockunlockunlockunlockunlockunlock
unlockunlockunlockunlockunlockunlock

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍

NVD Base Score: 🔍

Exploitinginfo

Class: Cross site scripting
CWE: 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-Dayunlockunlockunlockunlock
Todayunlockunlockunlockunlock

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 Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍

Upgrade: Django 1.8.14/1.9.8
Patch: github.com

Timelineinfo

07/08/2016 🔍
07/18/2016 +10 days 🔍
07/18/2016 +0 days 🔍
07/18/2016 +0 days 🔍
07/19/2016 +1 days 🔍
07/20/2016 +1 days 🔍
08/03/2016 +14 days 🔍
08/05/2016 +2 days 🔍
09/09/2022 +2226 days 🔍

Sourcesinfo

Advisory: Django security releases issued: 1.10 release candidate 1, 1.9.8, and 1.8.14
Researcher: 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: 🔍

Entryinfo

Created: 07/20/2016 15:46
Updated: 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: 🔍

Discussion

No comments yet. Languages: en.

Please log in to comment.

Interested in the pricing of exploits?

See the underground prices here!