lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Mon, 11 Jan 2010 14:01:50 -0500
From: Marty Barbella <martybarbella@...il.com>
To: full-disclosure@...ts.grok.org.uk
Subject: XSS Vulnerability in Active Calendar 1.2.0

XSS Vulnerability in Active Calendar 1.2.0

Discovered by Martin Barbella <martybarbella@...il.com>

Description of Vulnerability:
-----------------------------
Active Calendar is PHP Class, that generates calendars (year, month or
week view) as a HTML Table (XHTML-Valid). (From:
http://micronetwork.de/activecalendar/index.php)

In the functions enableYearNav, enableMonthNav, enableDayLinks, and
enableDatePicker of the activeCalendar class, certain variables are
assigned the value of $_SERVER['PHP_SELF'] when either no value is
specified for $link, or the value of $link is false. The values of
these variables are not sanitized later, resulting in several cross
site scripting vulnerabilities.

Systems affected:
-----------------
This has been confirmed in version 1.2.0 of Active Calendar. Previous
versions may also be affected.

Impact:
-------
When a user is tricked into clicking on a malicious link or submitting
a specially crafted form, the injected code travels to the vulnerable
web server, which reflects the attack back to the user's browser. The
browser then executes the code because it came from a "trusted"
server. (From OWASP:
http://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29)

Mitigating factors:
-------------------
The vulnerabilities will only affect applications which call the four
functions above with the default values, or applications which call
the above functions with false passed as the value of the $link
parameter.

Proof of concept:
-----------------
The code segment shows a basic example of how Active Calendar could be
used with a call to one of the four vulnerable functions.

<?php
require_once("activecalendar.php");
$cal = new activeCalendar();
$cal->enableDayLinks();
?>
<?php print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
 <head>
   <title>Active Calendar XSS Example</title>
 </head>
 <body>
   <center>
     <?php print $cal->showYear(); ?>
   </center>
 </body>
</html>

If this script was located at http://site/test.php, the vulnerability
could be demonstrated by viewing
http://site/test.php/"><script>document.body.innerHTML='XSS';</script>.

Workaround:
-----------
When using the activeCalendar class, explicitly pass a sanitized value
for the $link parameter when calling the functions enableYearNav,
enableMonthNav, enableDayLinks, and enableDatePicker.

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ