ExtCalendar 2.0 Beta 2 (upgrade.php) Remote XSS Vulnerability

Title: ExtCalendar 2.0 Beta 2 (upgrade.php) Remote XSS Vulnerability
Advisory ID: ZSL-2010-4928
Type: Remote
Impact: Cross-Site Scripting
Risk: (2/5)
Release Date: 27.02.2010
ExtCalendar is a powerful multi-user web-based calendar application. Features include Multi-Languages, Themes, Recurrent Events, Categories, Users and Groups management, Environment and General Settings, Template Configuration, Product Updates.
ExtCalendar is prone to a cross-site scripting vulnerability because it fails to properly sanitize user-supplied input. An attacker may leverage this issue to execute arbitrary script code in the browser of an unsuspecting user in the context of the affected site. This may allow the attacker to steal cookie-based authentication credentials and to launch other attacks. The issue exist in the upgrade.php script in the html_footer() function, line 361. Conditional on register_globals turned ON. This vuln was found using Pixy code auditor.


*** detecting vulnerabilities ***

XSS Analysis BEGIN

Number of sinks: 10

XSS Analysis Output

Vulnerability detected!
- conditional on register_globals=on
- C:\wamp\www\extcal2.0_b2\upgrade.php:361
- Graph: xss10

Total Graph Count: 10
Total Vuln Count: 1

XSS Analysis END


function html_footer()
global $step;
echo <<<EOT
<input type='hidden' name='step' value='$step'>


Justin, Mohamed Moujami - http://sourceforge.net/projects/extcal/
Affected Version
2.0 Beta 2
Tested On
Microsoft Windows XP Professional SP3 (English)
Vendor Status
Vulnerability discovered by Gjoko Krstic - <gjoko@zeroscience.mk>
[1] http://www.packetstormsecurity.org/filedesc/ZSL-2010-4928.txt.html
[2] http://www.securityfocus.com/bid/38458
[3] http://www.net-security.org/vuln.php?id=11426
[27.02.2010] - Initial release
[01.03.2010] - Added reference [1]
[22.03.2010] - Added reference [2] and [3]
Zero Science Lab

Web: http://www.zeroscience.mk
e-mail: lab@zeroscience.mk