########################################################## # GulfTech Security Research August 09, 2008 ########################################################## # Vendor : Kayako Infotech Ltd. # URL : http://www.kayako.com/ # Version : Kayako SupportSuite < 3.30.00 # Risk : Multiple Vulnerabilities ########################################################## Description: Kayako SupportSuite is a very popular online eSupport application that consists of several well known Kayako products such as Kayako LiveResponse and Kayako eSupport. Unfortunately there are several security issues in Kayako SupportSuite that may allow for an attacker to gain access to a staff account and then escalate their privileges to administrator. These issues include Cross Site Scripting, Script Injection, and SQL Injection. All of these issues are resolved in Kayako SupportSuite 3.30 and users should upgrade as soon as possible. Cross Site Scripting: There are a substantial number of Cross Site Scripting issues present in Kayako SupportSuite that may allow for an attacker to steal cookies and gain unauthorized access to accounts. /visitor/index.php?_m=livesupport&_a=startclientchat&sessionid="%20onload%3dalert(document.cookie)%20style=%3d /index.php?_m=news&_a=view&filter=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E%3Ca%20href=%22 The above url's are a couple examples the issues in action. Some of the xss issues in SupportSuite require certain conditions, such as the second example. It requires a certain amount of results to be displayed, so that the pagination is present since that's where the issue occurs. assign\(('|"*)([a-zA-Z0-9_]*)('|"*), \$_(GET|REQUEST|POST|SERVER) A quick grep of the Kayako SupportSuite codebase for the above regex, which looks for gpc variables assigned directly as a template variable, displays 28 matches in 7 files. Script Injection: In addition to the cross site scripting issues explained above are some fairly dangerous script injection issues that can be easily used to take over a staff member's account via cookie theft just by chatting with them. For example if a malicious user creates an account, opens a ticket, or requests a chat with arbitrary script in their "Full Name" field then it will execute successfully in the context of the staff members browser when they get a chat request, print a users ticket, edit comments awaiting approval, or edit the attackers account. ">