Lucene search
K

FortiAnalyzer Appliance - Multiple Web Vulnerabilities

🗓️ 11 Sep 2011 00:00:00Reported by Vulnerability Research Laboratory - Benjamin Kunz Mejri (Rem0ve)Type 
vulnerlab
 vulnerlab
🔗 www.vulnerability-lab.com👁 15 Views

FortiAnalyzer Appliance - Multiple Web Vulnerabilities, input validation issues, persistent script code attack

Code
Document Title:
===============
FortiAnalyzer Appliance - Multiple Web Vulnerabilities


References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=145


Release Date:
=============
2011-09-11


Vulnerability Laboratory ID (VL-ID):
====================================
145


Product & Service Introduction:
===============================
The FortiAnalyzer family of logging, analyzing, and reporting appliances securely aggregate log data from Fortinet devices and other 
syslog-compatible devices. Using a comprehensive suite of easily-customized reports, users can filter and review records, including 
traffic, event, virus, attack, Web content, and email data, mining the data to determine your security stance and assure regulatory 
compliance. FortiAnalyzer also provides advanced security management functions such as quarantined file archiving, event correlation, 
vulnerability assessments, traffic analysis, and archiving of email, Web access, instant messaging and file transfer content.

Secure data aggregation from multiple FortiGate and FortiMail security appliances provides network-wide visibility.
Over 300 customizable reports help monitor and maintain acceptable use policies, identify attack patterns, and comply with governmental ...
Network capacity and utilization data reporting enables network administrators to plan and manage networks more efficiently.
Fully integrated with FortiManager appliances for a single point of command, control, analysis, and reporting.
FortiGuard subscription services deliver dynamic updates to vulnerability management functionality through intelligence gathered by Fortinet s ...
Advanced features such as event correlation, forensic analysis, and vulnerability assessment provide essential tools for in-depth protection of 
complex networks. Up to 6 TB of log data capacity and choice of RAID levels allow administrators to balance capacity and data assurance to 
match organizational needs.

(Copy of the Vendor Homepage: http://www.fortinet.com/products/fortianalyzer/)


Abstract Advisory Information:
==============================
Vulnerability-Lab Team discovered multiple persistent Web Vulnerabilities on the FortiAnalyzer Centralized Reporting - Appliance.



Vulnerability Disclosure Timeline:
==================================
2011-09-12:	Public or Non-Public Disclosure


Discovery Status:
=================
Published


Affected Product(s):
====================

Exploitation Technique:
=======================
Remote


Severity Level:
===============
Medium


Technical Details & Description:
================================
1.1
An input validation vulnerabilities(persistent) is detected on the FortAnalyzer Appliance Series. Attackers can include persistent 
malicious script codes to manipulate specific customer requests & modules. The vulnerability allows an attacker also to hijack customer 
sessions with persistent script code attacks.

Vulnerable Module(s): (Persistent)
								[+] Filter Value on Log Access IPS Attack Listing - Category Preview (Persistent)


1.2
An input validation vulnerabilities(non-persistent) is detected on the FortAnalyzer Appliance Series. Attackers can execute with 
high user inter action non-persistent script codes on client-side. The vulnerability allows an attacker also to form manipulated cross 
site requests to hijack admin/customer sessions on client-side.

Vulnerable Modules: (Non-Persistent)
								[+] Devices => Edit Device Group (Non-Persistent)

					
Pictures:
								../ive1.png
								../ive2.png


Proof of Concept (PoC):
=======================
The vulnerabilities can be exploited by remote attackers or local low privileged user accounts. 
For demonstration or reproduce  ...

1.1
Module: Filter Value on Log Access IPS Attack (Persistent)

Url: https://www.127.0.0.1:80/log/logging/filter?filterfield=msg&filtertype=7&logtype=alog&devtype=&realtime=0&search=0
&content=0&browse=0&web_page_id=802&setting_name=802999alog_0&setting_path=080000005471&filter_setting_on_fa=1&filter=
itime%3E1281806130&filtervalue= ... &filternot=0

PoC:
<td nowrap="nowrap"><img src="/images/filter.gif" style="cursor: pointer;" onclick="popupdlg(null,'/log/logging/filter?filterfield=msg&filtertype=
7&logtype=alog&devtype=&realtime=0&search=0&content=0&browse=0&web_page_id=802&setting_name=802999alog_0&setting_
path=080000005471&filter_setting_on_fa=1&filter=itime%3E1281806130&filtervalue=<INCLUDED PERSISTENT SCRIPTCODE HERE!!!>&filternot=0', 
560, 400); return nobubble(event)"><span>Message</span></td>

Note: The bug is located on all listing sections with preview. Not only in the IPS Attack Module!



1.2
Module: Devices => Edit Device Group (Non-Persistent)

Url: https://www.fortianalyzer.com/clientlog/client/groupmgt?modify=<INCLUDE SCRIPTCODE HERE!!!>&group_type=FortiGate

PoC:
<td align="left"><span>Group Name:</span> 
<input name="groupname" id="groupname" value=">" type="text"><INCLUDED NON-PERSISTENT SCRIPTCODE HERE!!!">" size="20" maxlength="20" onFocus="this.select()"></td>
<td></td><td><span>Group Type:</span> <select name=group_type id=group_type size=1 onchange="group_type_changed(this.value);"><option value="FortiGate" selected>FortiGate Group</option>
<option value="FortiMail" >FortiMail Group</option>
<option value="FortiManager" >FortiManager Group</option>
<option value="Syslog" >Syslog Group</option>
</select>
</td>
</tr>
<tr><td colspan=3> </td></tr>
<tr><td>Available Devices</td><td></td><td>Members</td></tr>
<tr><td><select multiple name="devicelist" id="devicelist" size="8" style="width:280px">
</select></td>
<td>
<img src="/images/addlist.gif" id="devicesRight">
<br><br>
<img src="/images/dellist.gif" id="devicesLeft">
</td>
<td><select multiple name="memberlist" id="memberlist" size="8" style="width:280px">
</select></td>
</tr>
<tr><td colspan=3> </td></tr>
</table></td></tr>
<tr><td height=20><table class="footer" cellpadding="0" cellspacing="0" align="center">
<tr><td>
<input class="button" type="button" value="Return" onclick="if (window.opener) window.close();else if (window.parent.ModalDialog && 
window.parent.ModalDialog.isOpen()) window.parent.closeModalDialog();else {var url='/clientlog/client/groups'; if (url) document.location=url; 
else history.back()}">
</td></tr>
</table></td></tr>
<input type=hidden name=apply value=1> 
<input type=hidden name=members>
<input type=hidden name=oldgroupname value=>"<<INCLUDED NON-PERSISTENT SCRIPTCODE HERE!!!">>>
</form>
<SCRIPT language="JavaScript">
<!--
var FortiGateObjectsList = new Array(  new Array(0, "", new Array("2DEMOTOTALTEK", "FG100A2104400093", "FG100A3907510126", "FG224B2906500065", 
"FG3810A_QA", "FG400A2904500088_CID", "FWF60M2906501061", "FY", "FortiGate-310B-Online-Demo-Unit", "WOLFKING", "fortigate6366", "test")));
var FortiMailObjectsList = new Array(  new Array(0, "", new Array()));
var FortiManagerObjectsList = new Array(  new Array(0, "", new Array()));
var SyslogObjectsList = new Array(  new Array(0, "", new Array()));
var deviceObjectsUsed = new Array();
setupMultiSelectLists(FortiGateObjectsList, deviceObjectsUsed, 'devicelist', 'memberlist', 'devicesLeft', 'devicesRight');
function group_type_changed(type)
{
  if(type=='FortiGate')
    setupMultiSelectLists(FortiGateObjectsList, deviceObjectsUsed, 'devicelist', 'memberlist', 'devicesLeft', 'devicesRight');
  else if(type=='FortiMail')
    setupMultiSelectLists(FortiMailObjectsList, deviceObjectsUsed, 'devicelist', 'memberlist', 'devicesLeft', 'devicesRight');
  else if(type=='FortiManager')
    setupMultiSelectLists(FortiManagerObjectsList, deviceObjectsUsed, 'devicelist', 'memberlist', 'devicesLeft', 'devicesRight');
  else
    setupMultiSelectLists(SyslogObjectsList, deviceObjectsUsed, 'devicelist', 'memberlist', 'devicesLeft', 'devicesRight');
}

      function check_data()
      {
        var i;
        var found;
        if(checkvoid(document.forms[0].groupname, 'Please input a group name.') == false)
            return false;

        if ( check_spaces(document.forms[0].groupname.value) == true ) {
          alert("The groupname can not contain spaces.");
          return false;
        }
        if (!check_regexp(document.forms[0].groupname,'^[0-9A-Za-z._]+$', 'Invalid group name (allowed characters: A-Z, a-z, 0-9, _, and .).')) {
          return false;
        }

        if ( document.forms[0].memberlist.length) {
          document.forms[0].members.value = document.forms[0].memberlist.options[0].text;
          for (i=1; i < document.forms[0].memberlist.length; i++) {
            document.forms[0].members.value = document.forms[0].members.value + ',' + document.forms[0].memberlist.options[i].text;
          }
        }
        else{
            alert("Please select at least one device member.");
            return false;
        }
      return true;
    }
-->
</SCRIPT>
</table><!--container--></body>
</html>
</iframe></td>



Reference(PoC):
				../groupmgt.htm
				../poc2.txt


Security Risk:
==============
The security risk of the persistent vulnerability is estimated as medium(+).
The security risk of the non-persistent vulnerability is estimated as low because of high required user inter action.


Credits & Authors:
==================
Vulnerability Research Laboratory - Benjamin Kunz Mejri (Rem0ve)


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.vulnerability-lab.com/register
Contact:    [email protected] 	- [email protected] 	       - [email protected]
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 ([email protected] or [email protected]) to get a permission.

    				   	Copyright © 2012 | Vulnerability Laboratory



Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation