##########################################################
# 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.
">