Django bis 1.7 URL Parser django.core.urlresolvers.reverse erweiterte Rechte
CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
---|---|---|
4.6 | $0-$5k | 0.00 |
In Django (Content Management System) wurde eine Schwachstelle gefunden. Sie wurde als problematisch eingestuft. Dabei geht es um die Funktion django.core.urlresolvers.reverse
der Komponente URL Parser. Mittels Manipulieren mit einer unbekannten Eingabe kann eine erweiterte Rechte-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-94. Auswirken tut sich dies auf die Integrität. Die Zusammenfassung von CVE lautet:
The django.core.urlresolvers.reverse function in Django before 1.4.11, 1.5.x before 1.5.6, 1.6.x before 1.6.3, and 1.7.x before 1.7 beta 2 allows remote attackers to import and execute arbitrary Python modules by leveraging a view that constructs URLs using user input and a "dotted Python path."
Die Schwachstelle wurde am 21.04.2014 durch Benjamin Bach als Security releases issued in Form eines bestätigten Advisories (Website) öffentlich gemacht. Das Advisory findet sich auf djangoproject.com. Die Veröffentlichung passierte hierbei in Koordination mit dem Projektteam. Die Verwundbarkeit wird seit dem 19.12.2013 als CVE-2014-0472 geführt. Sie gilt als leicht ausnutzbar. Der Angriff kann über das Netzwerk angegangen werden. Um eine Ausnutzung durchzusetzen, muss keine spezifische Authentisierung umgesetzt werden. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht. Diese Schwachstelle wird durch das MITRE ATT&CK als Angriffstechnik T1059 bezeichnet. Das Advisory weist darauf hin:
One argument signature for reverse() is to pass a dotted Python path to the desired view. In this situation, Django will import the module indicated by that dotted path as part of generating the resulting URL. If such a module has import-time side effects, those side effects will occur.
Für den Vulnerability Scanner Nessus wurde am 24.04.2014 ein Plugin mit der ID 73676 (FreeBSD : django -- multiple vulnerabilities (59e72db2-cae6-11e3-8420-00e0814cab4e)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann. Es wird der Family FreeBSD Local Security Checks zugeordnet. Der kommerzielle Vulnerability Scanner Qualys bietet das Plugin 167246 (OpenSuSE Security Update for python-django (openSUSE-SU-2014:1132-1)) zur Prüfung der Schwachstelle an. Das Advisory zeigt auf:
Thus it is possible for an attacker to cause unexpected code execution, given the following conditions: 1) One or more views are present which construct a URL based on user input (commonly, a "next" parameter in a querystring indicating where to redirect upon successful completion of an action). 2) One or more modules are known to an attacker to exist on the server's Python import path, which perform code execution with side effects on importing.
Ein Aktualisieren auf die Version 1.4.11, 1.5.6 oder 1.6.3 vermag dieses Problem zu lösen. Eine neue Version kann von djangoproject.com bezogen werden. Das Erscheinen einer Gegenmassnahme geschah sofort nach der Veröffentlichung der Schwachstelle. Die Entwickler haben damit unmittelbar gehandelt. Das Advisory stellt fest:
To remedy this, reverse() will now only accept and import dotted paths based on the view-containing modules listed in the project's URL pattern configuration, so as to ensure that only modules the developer intended to be imported in this fashion can or will be imported.
Unter anderem wird der Fehler auch in den Datenbanken von X-Force (92705) und Tenable (73676) dokumentiert. Die Schwachstellen 10295, 13065, 13064 und 13240 sind ähnlich.
Produkt
Typ
Name
Version
Lizenz
CPE 2.3
CPE 2.2
CVSSv4
VulDB CVSS-B Score: 🔍VulDB CVSS-BT Score: 🔍
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 5.3VulDB Meta Temp Score: 4.6
VulDB Base Score: 5.3
VulDB Temp Score: 4.6
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍
CVSSv2
AV | AC | Au | C | I | A |
---|---|---|---|---|---|
💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
---|---|---|---|---|---|
freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍
NVD Base Score: 🔍
Exploiting
Klasse: Erweiterte RechteCWE: CWE-94 / CWE-74 / CWE-707
CAPEC: 🔍
ATT&CK: 🔍
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔍
Status: Unbewiesen
EPSS Score: 🔍
EPSS Percentile: 🔍
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍
0-Day | freischalten | freischalten | freischalten | freischalten |
---|---|---|---|---|
Heute | freischalten | freischalten | freischalten | freischalten |
Nessus ID: 73676
Nessus Name: FreeBSD : django -- multiple vulnerabilities (59e72db2-cae6-11e3-8420-00e0814cab4e)
Nessus Datei: 🔍
Nessus Risiko: 🔍
Nessus Family: 🔍
Nessus Port: 🔍
OpenVAS ID: 702934
OpenVAS Name: Debian Security Advisory DSA 2934-1 (python-django - security update
OpenVAS Datei: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
Reaktionszeit: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Upgrade: Django 1.4.11/1.5.6/1.6.3
Timeline
19.12.2013 🔍21.04.2014 🔍
21.04.2014 🔍
21.04.2014 🔍
21.04.2014 🔍
23.04.2014 🔍
23.04.2014 🔍
23.04.2014 🔍
24.04.2014 🔍
24.04.2014 🔍
28.04.2014 🔍
17.06.2021 🔍
Quellen
Advisory: Security releases issuedPerson: Benjamin Bach
Status: Bestätigt
Bestätigung: 🔍
Koordiniert: 🔍
CVE: CVE-2014-0472 (🔍)
OVAL: 🔍
X-Force: 92705 - Django django.core.urlresolvers.reverse() code execution, High Risk
SecurityTracker: 1030149 - Django Bugs Let Remote Users Execute Arbitrary Code, Modify SQL Queries, and Obtain Potentially Sensitive Information
Vulnerability Center: 44289 - Django Remote Code Execution Vulnerability via django.core.urlresolvers.reverse(), Medium
SecurityFocus: 67041 - Django 'reverse()' Function Arbitrary Code Execution Vulnerability
Secunia: 58201 - Django Security Issue and Multiple Vulnerabilities, Moderately Critical
Siehe auch: 🔍
Eintrag
Erstellt: 23.04.2014 16:59Aktualisierung: 17.06.2021 16:42
Anpassungen: 23.04.2014 16:59 (90), 26.05.2017 04:02 (6), 17.06.2021 16:42 (3)
Komplett: 🔍
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.