<<< Date Index >>>     <<< Thread Index >>>

Advisory: XSS in WebCal (v1.11-v3.04)



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=<script>alert(document.cookie)</script>&cal=public
http://bulldog.tzo.org/perl/webcal.cgi?function=webyear&cal=public&year=<script>alert(document.cookie)</script>
http://bulldog.tzo.org/perl/webcal.cgi?function=webday&cal=public&date=<script>alert(document.cookie)</script>

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.