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
Summary
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.
Description
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'>
</form>
</div>
</div>
</body>
</html>
<noscript><plaintext>
EOT;
}

--------------------------------------------------------------------------------

Vendor
Justin, Mohamed Moujami - http://sourceforge.net/projects/extcal/
Affected Version
2.0 Beta 2
Tested On
Microsoft Windows XP Professional SP3 (English)
Vendor Status
N/A
PoC
extcal_xss.txt
Credits
Vulnerability discovered by Gjoko Krstic - <gjoko@zeroscience.mk>
References
[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
Changelog
[27.02.2010] - Initial release
[01.03.2010] - Added reference [1]
[22.03.2010] - Added reference [2] and [3]
Contact
Zero Science Lab

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