Lucene search
K

Fortinet FortiMail 400 IBE - Multiple Web Vulnerabilities

Fortinet FortiMail 400 IBE - Multiple Web Vulnerabilities. Security issues in parsing and certificate module of FortiMail IBE 400 Appliance with potential for session hijacking, information disclosure, and web context manipulation

Code
Document Title:
===============
Fortinet FortiMail 400 IBE - Multiple Web Vulnerabilities


References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=701
www.fortiguard.com/advisory/FG-IR-013-001.html

Video: http://www.youtube.com/watch?v=5d7cIaM80oY


Release Date:
=============
2013-01-22


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


Common Vulnerability Scoring System:
====================================
7.1


Product & Service Introduction:
===============================
The FortiMail family of appliances is a proven, powerful messaging security platform for any size organization, 
from small businesses to carriers, service providers, and large enterprises. Purpose-built for the most demanding 
messaging systems, the FortiMail appliances utilize Fortinet’s years of experience in protecting networks against 
spam, malware, and other message-borne threats.

You can prevent your messaging system from becoming a threat delivery system with FortiMail. Its inbound filtering 
engine blocks spam and malware before it can clog your network and affect users. Its outbound inspection technology prevents 
outbound spam or malware (including 3G mobile traffic) from causing other antispam gateways to blacklist your users.

Three deployment modes offer maximum versatility while minimizing infrastructure changes or service disruptions: 
transparent mode for seamless integration into existing networks with no changes to your existing mail server, 
gateway mode as a proxy MTA for existing messaging gateways, or full messaging server functionality for remote locations. 
FortiMail provides Identity-Based Encryption (IBE), in addition to S/MIME and TLS, as email encryption option to enforce 
policy-based encryption for secure content delivery. Furthermore, the FortiMail customizable and predefined dictionaries 
prevent accidental or intentional loss of confidential and regulated data.

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


Abstract Advisory Information:
==============================
The Vulnerability Laboratory Research Team discovered multiple web vulnerabilities in Fortinets FortiMail IBE 400Appliance Application.


Vulnerability Disclosure Timeline:
==================================
2012-09-16:	Researcher Notification & Coordination
2012-09-18:	Vendor Notification
2012-10-08:	Vendor Response/Feedback
2012-12-12:	Vendor Fix/Patch (PSIRT)
2013-01-23:	Public Disclosure


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


Affected Product(s):
====================
Fortinet
Product: FortiMail Appliance Series 400 IBE


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


Severity Level:
===============
High


Technical Details & Description:
================================
An exception-handling and input filter bypass vulnerability is detected in the Fortinets FortiMail IBE Appliance Application 200D,400C, VM2K, 2000B and 5002B.

The first vulnerability is located in the parse module with the bound vulnerable exception-handling and vulnerable effect on all input fields. 
The vulnerability allows an attacker to bypass the input parse routine by an implement of 2 close tags, which results in the 
execution of the second injected script code with a space between. 

The second vulnerability is located in the import/upload certificate module with the bound vulnerable certificate name and information parameters.
An attacker can implement own certificates with script code in the malicious name and information values. After the upload the persistent code get 
executed out of the certificate listing main module.

Successful exploitation of the vulnerabilities allows to hijack admin/customer sessions, can lead to information disclosure or result in stable
manipulation of web context (persistent & non-persistent).

Vulnerable Module(s):
				[+] Invalid - Exception Handling

Vulnerable Parameter(s):
				[+] ipmask
				[+] username
				[+] address
				[+] url


Proof of Concept (PoC):
=======================
1.1
The exception handling and filter bypass vulnerability can be exploited by remote attackers and local low privileged user account.
For demonstration or reproduce ... 


Module:		IPAddressMask - ext-mb-text, ext-gen4185 & ext-gen7196
INJECT: 	https://127.0.0.1:1338/admin/FEAdmin.html#SysInterfaceCollection

<div id="ext-gen4183"><div id="ext-gen4184" class="ext-mb-icon  ext-mb-error"></div><div id="ext-gen7197" 
class="ext-mb-content"><span id="ext-gen4185" class="ext-mb-

text">Error:IPAddressMask( 2 ) , IPAddressMask.cpp:14,  "Invalid mask:"
><iframe id="ext-gen7196" [PERSISTENT INJECTED SCRIPT CODE!];)" <="" "=""><[PERSISTENT 

INJECTED SCRIPT CODE!]") <"><[PERSISTENT INJECTED SCRIPT CODE!]") </0"</iframe></span>

AFFECTED:	https://127.0.0.1:1338/admin/FEAdmin.html#SysInterfaceCollection


Module:		Whitelist & Blacklist - Address
URL:		https://209.87.230.132:1443/admin/FEAdmin.html#PersonalBlackWhiteList

<div id="ext-gen10562" class="ext-mb-content"><span id="ext-gen5714" class="ext-mb-text">
Invalid address: "><[PERSISTENT INJECTED SCRIPT CODE!];)" <="" -="" 

"=""><[PERSISTENT INJECTED SCRIPT CODE!]") <</iframe></span>

AFFECTED:	https://209.87.230.132:1443/admin/FEAdmin.html#SystemBlackWhiteList


Module:		Bounce Verification - Username
URL:		https://209.87.230.132:1443/admin/FEAdmin.html#AsBounceverifyKeyCollection

<div id="ext-gen7197" class="ext-mb-content"><span id="ext-gen4185" class="ext-mb-text">
Invalid user name: ""><iframe id="ext-gen19608" [PERSISTENT INJECTED SCRIPT 

CODE!];)" <="" "=""><[PERSISTENT INJECTED SCRIPT CODE!]") <"</iframe></span>



1.2
The persistent vulnerability can be exploited by remote attackers with privileged application account and 
low required user inter action. For demonstration or reproduce ...


Module:		Upload or Import - Local Certificate - Certificate name
URL:		https://209.87.230.132:1443/admin/FEAdmin.html#SysCertificateDetailCollection

<div id="ext-gen38011" class="x-grid3-body"><div id="ext-gen38041" class="x-grid3-row x-grid3-row-selected " style="width: 1158px;">
<table class="x-grid3-row-table" 

style="width: 1158px;" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td id="ext-gen38095" class="x-grid3-col x-grid3-cell 
x-grid3-td-mkey x-grid3-cell-first " 

style="width:248px;" tabindex="0"><div id="ext-gen38036" class="x-grid3-cell-inner x-grid3-col-mkey" 
unselectable="on">[PERSISTENT INJECTED SCRIPT CODE AS CERTIFICATE NAME!]</div></td>
<td class="x-grid3-col x-grid3-cell x-grid3-td-subject " style="width: 726px;" tabindex="0"><div id="ext-gen38068" 
class="x-grid3-cell-inner x-grid3-

col-subject" unselectable="on">/[PERSISTENT INJECTED SCRIPT CODE AS CERTIFICATE VIA INFORMATION!]</div></td>
<td id="ext-gen38085" 

class="x-grid3-col x-grid3-cell x-grid3-td-status " style="width:148px;" tabindex="0"><div id="ext-gen38086" class="x-grid3-cell-inner 
x-grid3-col-status" 

unselectable="on">OK</div></td><td id="ext-gen38084" class="x-grid3-col x-grid3-cell x-grid3-td-isReferenced x-grid3-cell-last " 
style="width:28px;" tabindex="0"><div 

class="x-grid3-cell-inner x-grid3-col-isReferenced" unselectable="on"><img src="images/gray-ball.png" alt="0" align="absmiddle" 

border="0"></div></td></tr></tbody></table></div><div id="ext-gen38040" class="x-grid3-row x-grid3-row-alt " style="width: 1158px;">
<table class="x-grid3-row-table" 

style="width: 1158px;" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="x-grid3-col x-grid3-cell x-grid3-td-mkey x-grid3-cell-first " 

style="width:248px;" tabindex="0"><div id="ext-gen38037" class="x-grid3-cell-inner x-grid3-col-mkey" 
unselectable="on">[PERSISTENT INJECTED SCRIPT CODE AS CERTIFICATE NAME!]</div></td>
<td class="x-grid3-col x-grid3-cell x-grid3-td-subject " style="width: 726px;" tabindex="0"><div id="ext-gen38039" 
class="x-grid3-cell-inner x-grid3-

col-subject" unselectable="on">[PERSISTENT INJECTED SCRIPT CODE AS CERTIFICATE VIA INFORMATION!]</div></td><td class="x-grid3-col x-grid3-cell x-grid3-td-status " 
style="width:148px;" tabindex="0"><div 

id="ext-gen38102" class="x-grid3-cell-inner x-grid3-col-status" unselectable="on">Default</div></td><td id="ext-gen38101" class="x-grid3-col 
x-grid3-cell x-grid3-td-

isReferenced x-grid3-cell-last " style="width:28px;" tabindex="0"><div id="ext-gen38083" class="x-grid3-cell-inner x-grid3-col-isReferenced" 
unselectable="on"><img 

id="ext-gen38100" src="images/red-ball.png" alt="1" align="absmiddle" border="0"></div></td></tr></tbody></table></div></div>



Solution - Fix & Patch:
=======================
1.1
The exception-handling vulnerability can be fixed by parsing the full content without excluding after a close tag. Restrict the input fields to allowed chars.

1.2
The persistent vulnerability in the certificate import/upload module can be patched by parsing the certificate name and info input field. 
Do not forget to parse also the vulnerable output listing of the certificate name and cert information.


Security Risk:
==============
The security risk of the of the exception-handling and input filter bypass vulnerability is estimated as high(-).


Credits & Authors:
==================
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri ([email protected])


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