Author: Stan Bubrouski Date: December 16, 2005 Package: WebCal (by Michael Arndt; http://bulldog.tzo.org/webcal/webcal.html) Versions Affected: 1.11-3.04 (unknown <1.11) Severity: XSS allowing cookie theft, etc.. Description: This particular WebCal (there are in fact over a dozen separate webcal projects), suffers from cross-site scripting (XSS) vulnerabilities using almost any parameters sent to any of the included CGI (perl) scripts. Here are a couple examples using version 3.04: http://bulldog.tzo.org/perl/webcal.cgi?function=&cal=public http://bulldog.tzo.org/perl/webcal.cgi?function=webyear&cal=public&year= http://bulldog.tzo.org/perl/webcal.cgi?function=webday&cal=public&date= These examples however are just the tip of the iceburg, there are many many more. For example you can put full scripts in new calendar entries, as notes for entries, etc... there is no input validation. Googling for this particular WebCal shows thousands of sites still run it, and most of them are schools and colleges in the USA. What is scarier is that people are running this calendar on their main sites, where they host webmail and other session-cookie based webapps. Solution: WebCal development ceased in early 2003, meaning nobody is going to be updating it in all likelyhood. While it may be possible to patch all the XSS holes, a better alternative would be to find a newer, supported calendar program. There are plenty of perl, PHP, and JSP alternatives that should be considered.