Cisco AnyConnect VPN Client Arbitrary Program Execution Vulnerability
4 Nov. 2011
Summary
A design error vulnerability within Cisco Systems Inc's AnyConnect VPN Java client allows attackers to execute arbitrary code with the privileges of the targeted user.
Vulnerable Systems:
* Cisco AnyConnect VPN client versions prior to 2.3.185 for Windows
* Cisco AnyConnect VPN client versions prior to 2.5.3041 for Linux
* Cisco AnyConnect VPN client versions prior to 2.5.3041 for Apple Mac OS X
* Cisco AnyConnect VPN client versions prior to 3.0.629 for Linux
* Cisco AnyConnect VPN client versions prior to 3.0.629 for Apple Mac OS X
The Java applet is used to install the VPN client. Once it is instantiated, it will attempt to download two files from the site specified in the "url" property. As such, an attacker can craft a page such that the control will download an executable of their choosing.
One of the files will be executed upon the successful completion of the download. This allows an attacker to execute an arbitrary executable on the user's system.
This vulnerability is nearly identical to a previous iDefense disclosure. However, rather than exploiting the ActiveX control through JavaScript, this vulnerability exploits the JRE applet.
Exploitation allows attackers to execute arbitrary code in the context of the currently logged-on user. To exploit this vulnerability, a targeted user must load a malicious Web page created by an attacker. An attacker typically accomplishes this via social engineering or injecting content into compromised, trusted sites.
Additionally, in a default configuration, a targeted user must have this control already installed or must accept several warning prompts at the time that the attack is taking place. If the control is already installed, all an attacker has to do to exploit the vulnerability is embed a link to an executable which will be downloaded and executed.