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 18.104.22.168
WebCacheCleaner ActiveX Control 22.214.171.124
NeLaunchCtrl ActiveX Control 126.96.36.199
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.
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, ...).
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 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.