Multiple vulnerabilities in SonicWALL SSL-VPN Client

SEC Consult Security Advisory < 20071101-0 >

=====================================================================================

title: Multiple vulnerabilities in SonicWALL SSL-VPN Client

* Deletion of arbitrary files on the client

* Arbitrary code execution thru various buffer overflows

program: SonicWALL SSL-VPN

vulnerable version: SonicWALL SSL-VPN 1.3.0.3

WebCacheCleaner ActiveX Control 1.3.0.3

NeLaunchCtrl ActiveX Control 2.1.0.49

homepage: www.sonicwall.com

found: 04-23-2007

by: lofi42*

=====================================================================================

 

Vendor description:

---------------

 

SonicWALL SSL-VPN solutions can be configured to provide users with easy-to-use, secure and clientless remote access to a broad range of resources on the corporate network.

 

 

Vulnerabilty overview:

---------------

 

The SonicWALL SSL-VPN solution comes with various ActiveX Controls which allows users to access the VPN with Internet Explorer. These controls contain various vulnerabilities. An attacker could take control of the affected clients by placing exploit code on a webserver. He would then have to entice VPN users to visit the website, e.g. by conducting a phishing attack. Various other attack vectors exist (DNS redirection, owning an intranet website, ...).

 

 

Vulnerability details:

---------------

 

1.) Deletion of arbitrary files

 

The WebCacheCleaner ActiveX Control provides the method FileDelete() which, working as advertised, allows the attacker to delete arbitrary files on the client.

 

=== Proof of Concept 1  (VBScript) ===

dim o
Set o = CreateObject("MLWebCacheCleaner.WebCacheCleaner.1")
o.FileDelete("c:\bla\bla")

=== /Proof of Concept 1 ===

 

 

2.) Multiple buffer overflows

 

A stack-based buffer overflow exists in the AddRouteEntry() method of the NELaunchCtrl ActiveX Control. Specifically, the second paramter to this method is copied to into a stack buffer without length validiation.

Use the following to make the process jump into UVWX-land:

 

o.AddRouteEntry ("", "ABCDEFGHIJKLMNOPQRSTUVWX");

 

 

Additionally, the following properties suffer from Unicode overflows:

serverAddress
sessionId
clientIPLower
clientIPHigher
userName
domainName
dnsSuffix


=== Proof of Concept 2 ===

 

A code execution exploit will not be released to the public. However, as exploitation is trivial, we strongly advise to perform an update.

 

 

vendor status:

---------------

vendor notified: 2007-05-21

vendor response: 2007-05-21

patch available: September 2007

 

The issues have been fixed with version 2.1 of SSL-VPN 200 and version 2.5 of SSL-VPN 2000/4000.