Cisco Security Advisory
Windows VPN Client Local Privilege Escalation Vulnerability
AV:L/AC:H/Au:NR/C:C/I:C/A:C/B:N/E:F/RL:O/RC:C
-
The Cisco VPN Client for Windows is affected by a local privilege escalation vulnerability that allows non-privileged users to gain administrative privileges.
A user needs to authenticate and start an interactive Windows session to be able to exploit this vulnerability.
Cisco has made free software available to address this vulnerability for affected customers. There is a workaround available to mitigate the effects of the vulnerability.
This advisory is posted at https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20060524-vpnclient.
-
This section provides details on affected products.
Vulnerable Products
The following versions of the Cisco VPN Client for Windows (excluding Windows 9x users) are affected:
-
2.x
-
3.x
-
4.0.x
-
4.6.x
-
4.7.x with the exception of version 4.7.00.0533
(see below in Products Confirmed Not
Vulnerable.)
-
4.8.00.x
Products Confirmed Not Vulnerable
All other versions of Cisco VPN Client that are based on an operating system other than Microsoft Windows are not affected by this vulnerability. These include:
-
Any version of the Cisco VPN Client for Solaris
-
Any version of the Cisco VPN Client for Linux
-
Any version of the Cisco VPN Client for Macintosh (MacOS X and MacOS
Classic)
Cisco VPN Client for Windows version 4.8.01.x and later are not affected by this vulnerability.
In addition, due to a regression, version 4.7.00.0533 of the Cisco VPN Client for Windows is not affected, even though other 4.7.x are affected. Users running version 4.7.00.0533 of the Cisco VPN Client for Windows do not need to upgrade to version 4.8.01 or later to be protected from this vulnerability.
No other Cisco products are currently known to be affected by this vulnerability.
Determining the Cisco VPN Client Version
In order to determine which version of the Cisco VPN Client is running on the Microsoft Windows machine, open the Cisco VPN Client graphical user interface by selecting "Programs->Cisco Systems VPN Client->VPN Client" from the Start menu and then select the option "About VPN Client..." from the "Help" menu. This will display a dialog box containing text similar to "Cisco Systems VPN Client Version 4.0.5(Rel)". Please note that the location of the "Cisco Systems VPN Client" folder mentioned above in Windows' Start menu is where the program is installed by default; your system administrator may have chosen to use a different name or location.
-
2.x
-
The Cisco VPN Client is a software solution for the Sun Solaris, Apple MacOS Classic and MacOS X, Linux and Microsoft Windows operating systems that allows users running these operating systems to establish IPSec VPN tunnels to Cisco VPN-capable devices like Cisco IOS routers, the PIX Security Appliance, the VPN 3000 Series Concentrators, and the ASA 5500 Series Adaptive Security Appliances.
A vulnerability in the Cisco VPN Client for Windows graphical user interface (GUI), also known as the "VPN client dialer", can be exploited to elevate user privileges and obtain LocalSystem-equivalent privileges.
The vulnerability occurs when the Start Before Logon (SBL) feature is enabled on the Cisco VPN Client. This feature can be enabled by unprivileged users from the Cisco VPN Client GUI. Once this feature is enabled, the user will see a Cisco VPN Client GUI in the Windows logon screen. When the user accesses Cisco VPN Client help in this GUI with the F1 key, the Cisco VPN Client spawns a web browser process. Since no user has logged in yet, the Cisco VPN Client is running with LocalSystem privileges, and therefore so will the spawned web browser process. After the logon sequence is completed, the user has a web browser window on the desktop, running with LocalSystem privileges.
Additional information on the SBL feature can be found at:
This issue is not related to any known issues in Microsoft Windows itself.
This vulnerability is documented by Cisco Bug ID CSCsd79265 ( registered customers only)
For information about local system level privileges, please refer to:
-
A workaround for this vulnerability is to prevent the LocalSystem account (also known as "SYSTEM") from launching the application associated with files with the ".html" extension. After applying this workaround, pressing the F1 key on the Cisco VPN Client GUI in the Windows logon screen has no effect.
This can be accomplished by attaching an Access Control List (ACL) entry to the Windows registry keys HKEY_LOCAL_MACHINE\Software\Classes\.html and HKEY_CLASSES_ROOT\.html so that the NT-AUTHORITY\SYSTEM account is denied all access to that key.
The following example uses the tool RegDACL (Copyright(c) 1999-2001 Frank Heyne Software), available from http://www.heysoft.de/en/software/regtools.php?lang=EN , to apply the Windows registry ACL mentioned above:
C:\>regdacl HKLM\Software\Classes\.html /DGS:F RegDACL 5.1 - Permissions Manager for Registry keys for Windows NT 4 and above Copyright (c) 1999-2001 Frank Heyne Software (http://www.heysoft.de) This program is Freeware, use it on your own risk! Denying F access for predefined group "System" - adding new ACCESS DENY entry - removing existing entry C:\>regdacl HKCR\.html /DGS:F RegDACL 5.1 - Permissions Manager for Registry keys for Windows NT 4 and above Copyright (c) 1999-2001 Frank Heyne Software (http://www.heysoft.de) This program is Freeware, use it on your own risk! Denying F access for predefined group "System" - adding new ACCESS DENY entry - removing existing entry C:\>
Another tool that can be used to accomplish the same is the Regini.exe utility that comes with several versions of the Windows Resource Kit. For more information on how to use Regini.exe, please visit the following Microsoft Knowledge Base article:
-
How to Use Regini.exe to Set Permissions on Registry Keys
http://support.microsoft.com/?kbid=237607
Manually editing the Windows registry with RegEdit.exe will also work, but this method does not scale when the operation needs to be performed on a large number of machines.
While Cisco has tested the above workaround in Cisco's test environment, the effectiveness and impact of any workaround is dependent on each customer's particular environment. Customers electing to apply any workaround (rather than upgrading to an updated version of the Cisco VPN Client) are encouraged to test such workaround thoroughly to ensure, among other things, that it does not negatively impact any other applications that may rely on applicable functionality (e.g., the ability of the LocalSystem account to launch HTML files from any application).
-
How to Use Regini.exe to Set Permissions on Registry Keys
-
When considering software upgrades, also consult http://www.cisco.com/go/psirt and any subsequent advisories to determine exposure and a complete upgrade solution.
In all cases, customers should exercise caution to be certain the devices to be upgraded contain sufficient memory and that current hardware and software configurations will continue to be supported properly by the new release. If the information is not clear, contact the Cisco Technical Assistance Center ("TAC") or your contracted maintenance provider for assistance.
This vulnerability is fixed in version 4.8.01.0300 of the Cisco VPN Client for Windows, which can be downloaded from the following location:
http://www.cisco.com/pcgi-bin/tablebuild.pl/windows ( registered customers only)
For information on how to upgrade the Cisco VPN Client, including automatic upgrades, please refer to the following chapter of the VPN Client Administrator Guide: Updating VPN Client Software.
-
The Cisco PSIRT is not aware of any public announcements or malicious use of the vulnerability described in this advisory.
This vulnerability was independently reported to Cisco by Andrew Christensen from FortConsult and by Johan Ronkainen. Cisco would like to thank them for working with us towards coordinated disclosure of this vulnerability.
Applying an ACL to the HKCR\.html registry key in order to prevent the SYSTEM account from being able to launch a web browser was suggested to Cisco Systems by Johan Ronkainen.
FortConsult's advisory is available at the following location:
http://www.fortconsult.net/images/pdf/cisco_advisory_may2006.pdf
-
To learn about Cisco security vulnerability disclosure policies and publications, see the Security Vulnerability Policy. This document also contains instructions for obtaining fixed software and receiving security vulnerability information from Cisco.
-
Revision 2.0
2006-July-27
- Added full details about the vulnerability (see the Details section.)
- Provided possible workarounds (see the Workarounds section).
- Added a link to FortConsult's advisory
- Changed "Status of this Notice" from INTERIM to FINAL.
Revision 1.0
2006-May-24
Initial public release.
-
THIS DOCUMENT IS PROVIDED ON AN "AS IS" BASIS AND DOES NOT IMPLY ANY KIND OF GUARANTEE OR WARRANTY, INCLUDING THE WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. YOUR USE OF THE INFORMATION ON THE DOCUMENT OR MATERIALS LINKED FROM THE DOCUMENT IS AT YOUR OWN RISK. CISCO RESERVES THE RIGHT TO CHANGE OR UPDATE THIS DOCUMENT AT ANY TIME.
A stand-alone copy or paraphrase of the text of this document that omits the distribution URL is an uncontrolled copy, and may lack important information or contain factual errors. The information in this document is intended for end-users of Cisco products.