/----------------------------------\
| TCExam Edit Cross-Site Scripting |
\----------------------------------/
Summary
=======
TCExam 11.3.007 is subject to a cross-site scripting vulnerability. A
'question_subject_id' parameter is not sufficiently sanitised before being
written to the tce_edit_answer.php page. An attacker could distribute a
malicious URL to specific users as part of a spear-phishing campaign. Users
following the link would trigger this vulnerability which could potentially
steal session cookies, redirect the user to a malicious URL or download
malware onto their machine.
CVE number: CVE-2012-4238
Impact: Medium
Vendor homepage: http://www.tcexam.org/
Vendor notified: 06/08/2012
Vendor fixed: 06/08/2012
Credit: Chris Cooper of Reaction Information Security
(http://www.reactionis.co.uk/)
This advisory is posted at:
http://www.reactionpenetrationtesting.co.uk/tcexam-cross-site-scripting.html
Affected Products
======== ========
Confirmed in TCExam 11.3.007. Prior versions may also be affected.
Details
=======
The question_subject_id parameter on the tce_edit_answer.php page was found
to be subject to a cross-site scripting vulnerability. It was possible to
inject arbitrary Javascript code into the parameter which is passed into the
page content without sanitisation.
The fact that the user must be authenticated as well as an administrator
(permission level 5 or above) reduces the likelihood of a successful attack.
However, the vulnerability could potentially be leveraged in a spear
phishing attack, targeted at exam authors and administrators, to hijack
their sessions.
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.
Proof of Concept
===== == =======
Injecting the following Javascript code into a generic parameter on the
calendar page will trigger the vulnerability, causing the page to return a
Javascript alert box.
"><script>alert(String.fromCharCode(120,115,115,116,101,115,116))</script>
---
Example 1 Request:
+-----------------
GET
/TCExam/admin/code/tce_edit_answer.php?subject_module_id=2&question_subject_
id=1"><script>alert(String.fromCharCode(120,115,115,116,101,115,116))</scrip
t>&answer_question_id=7 HTTP/1.1
Host: 192.168.0.6
Referer: http://192.168.0.6/TCExam/admin/code/tce_edit_question.php
Cookie: PHPSESSID=db1fe2b665994ff76356e7a28abfa5df
---
Example 1 Response:
+------------------
--- SNIP ---
<a
href="tce_edit_question.php?subject_module_id=2&question_subject_id=1\">
<script>alert(String.fromCharCode(120,115,115,116,101,115,116))</script>&
;question_id=7" title="Question Management" class="xmlbutton">< Question
Management</a></span>
--- SNIP ---
Solution
========
Upgrade to TCExam 11.3.008.
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 URL below for any updates:
http://www.reactionpenetrationtesting.co.uk/tcexam-cross-site-scripting.html
==========
Reaction Information Security
Lombard House Business Centre,
Suite 117,
12-17 Upper Bridge Street,
Canterbury, Kent, CT1 2NF
Phone: +44 (0)1227 785050
Email: research () reactionis {dot} co {dot} uk
Web: http://www.reactionpenetrationtesting.co.uk