[UNIX] Topic Calendar Cross Site Scripting
From: SecuriTeam (support_at_securiteam.com)
Date: 03/24/05
- Previous message: SecuriTeam: "[NEWS] Terminal 5250 Remote Command Execution"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
To: list@securiteam.com Date: 24 Mar 2005 19:39:02 +0200
The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion
The SecuriTeam alerts list - Free, Accurate, Independent.
Get your security news from a reliable source.
http://www.securiteam.com/mailinglist.html
- - - - - - - - -
Topic Calendar Cross Site Scripting
------------------------------------------------------------------------
SUMMARY
<http://www.phpbb.com/phpBB/viewtopic.php?t=150857> Topic Calendar is "a
quite widespread MOD for phpBB all version that will add a calendar to the
board, using topics as event. The authorizations are managed at forums,
groups and users level, as the standard phpBB authorizations".
Due to poor sanitization of the 'start' parameter of Topic Calendar's
calendar_scheduler.php script a remote attacker can insert arbitrary HTML
and/or JavaScript into the response returned by the server.
DETAILS
Vulnerable Systems:
* Topic Calendar version 1.0.1
Vulnerable code:
Let's look at code from calendar_scheduler.php at line 82:
<?
...
if ( isset($HTTP_POST_VARS['start']) || isset($HTTP_GET_VARS['start'])
)
{
$start = isset($HTTP_POST_VARS['start']) ? $HTTP_POST_VARS['start'] :
$HTTP_GET_VARS['start'];
}
...
?>
and at line 375:
<?
...
$s_hidden_fields .= '<input type="hidden" name="start" value="' .
$start. '" />';
...
?>
As can be seen the $start variable is controlled by a remote user, and as
can be seen there isn't any control of the value that is inserted into the
return HTML. Therefore, anyone can inject some HTML code like:
"><script>alert(document.cookie)</script>
That will incorporate into:
<input type="hidden"
name="start"value=""><script>alert(document.cookie)</script>" />
Exploit:
The following URL can be used to test the vulnerability:
http://www.example.com/phpbb/calendar_scheduler.php?start=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
Unofficial patch:
To fix the XSS bug we can use the function intval() at line 85 of
calendar_scheduler.php:
<?
...
if ( isset($HTTP_POST_VARS['start']) || isset($HTTP_GET_VARS['start'])
)
{
$start = isset($HTTP_POST_VARS['start']) ? $HTTP_POST_VARS['start'] :
$HTTP_GET_VARS['start'];
$start = intval($start)
}
...
?>
ADDITIONAL INFORMATION
The information has been provided by <mailto:trivero@jumpy.it> Alberto
Trivero.
========================================
This bulletin is sent to members of the SecuriTeam mailing list.
To unsubscribe from the list, send mail with an empty subject line and body to: list-unsubscribe@securiteam.com
In order to subscribe to the mailing list, simply forward this email to: list-subscribe@securiteam.com
====================
====================
DISCLAIMER:
The information in this bulletin is provided "AS IS" without warranty of any kind.
In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.
- Previous message: SecuriTeam: "[NEWS] Terminal 5250 Remote Command Execution"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Relevant Pages
|