-
The Cisco AnyConnect Secure Mobility Client, previously known as the Cisco AnyConnect VPN Client, is affected by the following vulnerabilities:
- Arbitrary Program Execution Vulnerability
- Local Privilege Escalation Vulnerability
Cisco has released software updates that address these vulnerabilities. There are no workarounds for the vulnerabilities described in this advisory.
This advisory is posted at https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20110601-ac.
-
Vulnerable Products
The vulnerabilities described in this document apply to the Cisco AnyConnect Secure Mobility Client. The affected versions are included in the following table:
Vulnerability
Platform
Affected Versions
Arbitrary Program Execution Vulnerability
Microsoft Windows
All versions prior to 2.3.185
Linux, Apple MacOS X
- All versions in major releases other than 2.5.x and 3.0.x.
- 2.5.x releases prior to 2.5.3041
- 3.0.x releases prior to 3.0.629
Local Privilege Escalation Vulnerability
Microsoft Windows
All versions prior to 2.3.254
Linux, Apple MacOS X
Not affected
Note: Microsoft Windows Mobile versions are affected by the Arbitrary Program Execution Vulnerability. No fixed versions of the Cisco AnyConnect Secure Mobility Client for Windows Mobile are planned.
Products Confirmed Not Vulnerable
The Cisco AnyConnect Secure Mobility Client for Apple iOS and the IPsec-only Cisco VPN Client are not affected by these vulnerabilities.
No other Cisco products are currently known to be affected by these vulnerabilities.
-
The Cisco AnyConnect Secure Mobility Client is the Cisco next-generation VPN client, which provides remote users with secure IPsec (IKEv2) or SSL Virtual Private Network (VPN) connections to Cisco 5500 Series Adaptive Security Appliances (ASA) and devices that are running Cisco IOS Software.
The Cisco AnyConnect Secure Mobility Client is affected by the following vulnerabilities:
Arbitrary Program Execution Vulnerability
The Cisco AnyConnect Secure Mobility Client can be deployed to remote users from the VPN headend, or it can be installed before the endpoint connects to the VPN headend, a process known as pre-deployment. When the Cisco AnyConnect Secure Mobility Client is pre-deployed, the client software is installed and run like any other application.
When the Cisco AnyConnect Secure Mobility Client is deployed from the VPN headend, an SSL connection is initiated to the VPN headend using a web browser. After the user logs in, the browser displays a portal window and when the user clicks the "Start AnyConnect" link, the process of downloading the Cisco AnyConnect Secure Mobility Client begins. This action causes the browser to first download a "helper" application that aids in downloading and executing the actual Cisco AnyConnect Secure Mobility Client. The helper application is a Java applet on the Linux and MacOS X platforms, and either a Java applet on the Windows platform or an ActiveX control if the browser is capable of utilizing ActiveX controls. The downloaded helper application is executed in the context of the originating site in the user's web browser. The helper application then downloads the Cisco AnyConnect Secure Mobility Client from the VPN headend and executes it.
The helper application fails to properly validate the authenticity of the downloaded Cisco AnyConnect Secure Mobility Client executable when the client is deployed from the VPN headend. An attacker could create a malicious web page that looks like the normal VPN web login page and entice a user, through social engineering or exploitation of other vulnerabilities, to visit it. This would allow the attacker to supply an arbitrary executable that the helper application would download and execute on the machine of the affected user. This arbitrary executable would be executed with the same operating system privileges under which the web browser was run.
Fixed versions of the Cisco AnyConnect Secure Mobility Client use code signing to validate the authenticity of components downloaded from the VPN headend.
This vulnerability is documented in Cisco Bug ID CSCsy00904 ( registered customers only) for Cisco AnyConnect Secure Mobility Client on the Microsoft Windows platform, and in Cisco Bug ID CSCsy05934 ( registered customers only) for Cisco AnyConnect Secure Mobility Client on the Linux and Apple MacOS X platforms. Common Vulnerabilities and Exposures (CVE) IDs CVE-2011-2039 (for CSCsy00904) and CVE-2011-2040 (for CSCsy05934) have been assigned for these vulnerabilities.
Additional Considerations for the Arbitrary Program Execution Vulnerability
Note that while new versions of the ActiveX control and Java applet that are shipped with the Cisco AnyConnect Secure Mobility Client make use of code signing to validate the authenticity of components downloaded from the VPN headend, there is still the issue of old versions that do not validate downloaded components. An attacker may engineer a web page to supply an affected version of the ActiveX control or Java applet and still accomplish arbitrary program execution because of the lack of authenticity validation.
Mitigating the risk of old versions of the ActiveX control can be accomplished in the following ways:
- Load fixed Cisco AnyConnect Secure Mobility Client versions on the VPN headend and establish a VPN connection (via web browser or standalone client). This action will cause the new version of the Cisco AnyConnect Secure Mobility Client, including a new version of the ActiveX control to install. When this occurs, an old version of the ActiveX control will not be instantiated if one is presented for download.
- Pre-deploy a fixed version of Cisco AnyConnect Secure Mobility Client through enterprise software upgrade infrastructure. This action accomplishes the same result as the previous recommendation -- it deploys new, fixed versions of the ActiveX control so that old, vulnerable versions of the control are not instantiated if one is presented for download.
-
If deploying the client from the VPN headend is not needed, then the
kill bit for the Cisco AnyConnect Secure Mobility Client ActiveX control can be
set locally. This action prevents the ActiveX control from being instantiated
under any scenario. Instructions for setting the kill bit are beyond the scope
of this document; refer to the Microsoft Support article "How to stop an
ActiveX control from running in Internet Explorer" at
http://support.microsoft.com/kb/240797
and the Microsoft Security Vulnerability Research & Defense's "Kill-Bit
FAQ" blog posts referenced in the Microsoft Support article for more
information.
The CLSID (Class Identifier) for the ActiveX control used by the Cisco AnyConnect Secure Mobility Client is 55963676-2F5E-4BAF-AC28-CF26AA587566, and the ProgID (Program Identifier) is "Cisco.AnyConnect.VPNWeb.1". Note that this CLSID did not change with new versions of the ActiveX control that implement code signing validation.
Mitigating the risk of old versions of the Java applet can be accomplished by blacklisting old, vulnerable versions using the Jar blacklist feature introduced with Java SE 6 Update 14. For information on the Jar blacklist feature refer to the Java SE 6 Update 14 release notes, available at http://www.oracle.com/technetwork/java/javase/6u14-137039.html.
The jar files to be blacklisted are identified by the following SHA-1 message digests:
# 2.3.0254, 2.3.1003, 2.3.2016, 2.4.0202, 2.4.1012, # 2.5.0217, 2.5.1025, 2.5.2001, 2.5.2006, 2.5.2010, # 2.5.2011, 2.5.2014, 2.5.2017, 2.5.2018, 2.5.2019 SHA1-Digest-Manifest : x17xGEFzBRXY2pLtXiIbp8J7U9M= # 2.2.0133, 2.2.0136, 2.2.0140 SHA1-Digest-Manifest : ya6YNTzMCFYUO4lwhmz9OWhhIz8= # 2.0.0343, 2.1.0148 SHA1-Digest-Manifest : YwuPyF/KMcxcQhgxilzNybFM2+8=
Local Privilege Escalation Vulnerability
Unprivileged users can elevate their privileges to those of the LocalSystem account by enabling the Start Before Logon (SBL) feature and interacting with the Cisco AnyConnect Secure Mobility Client graphical user interface in the Windows logon screen.
To prevent this issue, fixed versions of the Cisco AnyConnect Secure Mobility Client limit the amount of interaction that is possible in the client's graphical user interface when it is displayed on the Windows logon screen.
This vulnerability affects only the Cisco AnyConnect Secure Mobility Client for Windows because the SBL feature is not supported by the Linux and MacOS X clients.
This vulnerability is documented in Cisco Bug ID CSCta40556 ( registered customers only) and has been assigned CVE ID CVE-2011-2041.
-
There are no workarounds for the vulnerabilities that are described in this advisory.
-
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.
Vulnerability
Platform
First Fixed Release
Arbitrary Program Execution Vulnerability
Microsoft Windows
2.3.185
Linux, Apple Mac OS X
2.5.3041 and 3.0.629
Local Privilege Escalation Vulnerability
Microsoft Windows
2.3.254
Linux, Apple Mac OS X
Not affected
Recommended Releases
The following table lists all recommended releases. These recommended releases contain the fixes for all vulnerabilities in this advisory. Cisco recommends upgrading to a release that is equal to or later than these recommended releases.
Major Release
Recommended Release
2.5.x
2.5.3046
3.0.x
3.0.1047
Software Download
The Cisco AnyConnect Secure Mobility Client can be downloaded from the Software Center on Cisco.com by visiting http://www.cisco.com/cisco/software/navigator.html and navigating to Products > Security > Virtual Private Networks (VPN) > Cisco VPN Clients > Cisco AnyConnect Secure Mobility Client.
-
The Cisco PSIRT is not aware of malicious use of the vulnerabilities described in this advisory. Public exploit code has been released in the form of a Metasploit Framework module that is designed to exploit the Arbitrary Program Execution Vulnerability.
The Arbitrary Program Execution Vulnerability was discovered by Elazar Broad and reported to Cisco by iDefense. Cisco would like to thank iDefense for reporting this vulnerability and for working with us towards a coordinated disclosure of the vulnerability.
The Local Privilege Escalation Vulnerability was reported to Cisco by a customer.
-
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
2011-July-11
Manifest digests of jars to be blacklisted using the jar blacklist feature in Java SE 6 Update 14 and later were incorrect in previous versions of this advisory. This update provides the correct digests.
Revision 1.2
2011-July-07
Designated 2.5.3046 as the 2.5.x recommended release because the original recommended release, 2.5.3041, is no longer available on cisco.com due to Cisco Bug ID CSCtq84525.
Revision 1.1
2011-June-06
Updated CVSS score to reflect feedback received concerning the access complexity of the Arbitrary Program Execution Vulnerability. Updated the "Exploitation and Public Announcements" section to indicate availability of a Metasploit Framework module to exploit the Arbitrary Program Execution Vulnerability.
Revision 1.0
2011-June-01
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.