Lucene search
K

Active Calendar 1.2.0 Cross Site Scripting

🗓️ 11 Jan 2010 00:00:00Reported by Martin BarbellaType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 37 Views

Active Calendar 1.2.0 XSS Vulnerability in PHP Clas

Code
`XSS Vulnerability in Active Calendar 1.2.0  
  
Discovered by Martin Barbella <[email protected]>  
  
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.  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation