Reaction Information Security

Penetration testing at its best.

Network penetration testing, web application security, firewall review, CHECK pen testing, server build review, social engineering..


Total Shop UK eCommerce Generic Cross-Site Scripting

Summary

The open source version of Total Shop UK eCommerce based on CodeIgniter version 2.1.2 is subject to a cross-site scripting vulnerability. The value of a generic parameter was not sufficiently sanitised before being written to a block of Javascript code. An attacker could distribute a malicious URL that would trigger this vulnerability and potentially steal session cookies, redirect the user to a malicious URL or download malware onto their machine.

  • CVE number: CVE-2012-4236
  • Impact: High
  • Vendor homepage: http://www.totalshopuk.com/
  • Vendor notified: 06/08/2012
  • Vendor fixed: 08/08/2012
  • Credit: Chris Cooper and Joseph Sheridan of Reaction Information Security

About ReactionIS

Reaction Information Security is a leading independent pen test consultancy specialising in delivering the highest quality services including network pen testing and web application security testing. As a CESG CHECK Service Provider we are authorised to carry out penetration testing on classified government networks.

Affected Products

Total Shop UK eCommerce based on CodeIgniter version 2.1.2 (open source version). Other versions may be affected.

Details

Generic parameters in the /application/modules/_main/views/_top.php file are written to a Javascript function in the page header without sanitisation. The entire URL, including the query string, is written (via a PHP echo construct) into a refresh_page() Javascript function. It was possible to escape the function and execute arbitrary Javascript code on the application pages. There is some character filtering in place, although this can be evaded by inserting a null (%00) character (see below).

Injecting the following Javascript code into a generic parameter on any application page will trigger the vulnerability, causing the page to return a Javascript alert box:

%00";};alert(String.fromCharCode(120,115,115,116,101,115,116));{//

---
Example 1 Request:
+-----------------

GET /?%00";};alert(String.fromCharCode(120,115,115,116,101,115,116
));{//=1 HTTP/1.1
Host: 192.168.0.6
Referer: http://192.168.0.6/about


---
Example 1 Response:
+------------------

--- SNIP ---
function refresh_page(){
parent.location="/?%00";};alert(String.fromCharCode(120,115,115
,116,101,115,116));{//=1";
}
--- SNIP ---

Impact

An attacker might entice users to follow a malicious URL, causing Javascript code to execute in their browser, potentially stealing session cookies, redirecting the user to a malicious URL or downloading malware onto their machine.

Solution

Upgrade to Total Shop UK eCommerce 2.1.2_p1. Download link here: http://sourceforge.net/projects/totalshopuk/files/TSUK_eCommerce_v2.1.2_p1.zip/download

Distribution

In addition to posting on the website, a text version of this notice has been posted to the following e-mail and Usenet news recipients.

  • bugtraq () securityfocus com
  • full-disclosure () lists grok org uk

Future updates of this advisory, if any, will be placed on the ReactionIS corporate website, but may or may not be actively announced on mailing lists or newsgroups. Users concerned about this problem are encouraged to check the current page for any updates.

Penetration test

Get a Quote Online

Submit your testing requirements online and one of the team will get right back to you.

Penetration Testing Services

Firewall reviews, database audits, code reviews, social engineering and more..

Application Security

Ensure your web and mobile apps are safe from attack.

Read more