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


Advisory ID: ZSL-2010-4928


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.

Product web page: http://sourceforge.net/projects/extcal/

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.

Advisory: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2010-4928.php


Details:

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


*** 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;
}


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


Vulnerability discovered by Gjoko 'LiquidWorm' Krstic

Zero Science Lab - http://www.zeroscience.mk

liquidworm gmail com

30.01.2010