HiveMail <= 1.3 Multiple Vulnerabilities

2006.02.11
Risk: Low
Local: No
Remote: Yes
CWE: N/A


CVSS Base Score: 7.5/10
Impact Subscore: 6.4/10
Exploitability Subscore: 10/10
Exploit range: Remote
Attack complexity: Low
Authentication: No required
Confidentiality impact: Partial
Integrity impact: Partial
Availability impact: Partial

########################################################## # GulfTech Security Research February 10, 2006 ########################################################## # Vendor : HiveMail # URL : http://www.hivemail.com/ # Version : HiveMail <= 1.3 # Risk : Multiple Vulnerabilities ########################################################## Description: HiveMail is a powerful web-based email program that allows you to offer personal email accounts to your visitors. This makes HiveMail a popular choice for business and individuals alike. Unfortunately there are a number of remote code execution vulnerabilities in HiveMail due to unsafe eval calls that may allow an attacker to compromise the underlying web server. In addition there are also vulnerabilities that allow an attacker to perform SQL Injection and Cross Site Scripting attacks. Remote Code Execution: There are a substantial number of Remote Code Execution issues in HiveMail that allow for an attacker to easily execute php code on the target server. Lets have a look at the file named addressbook.update.php @ lines 273-300 if ($_POST['cmd'] == 'remove') { if ($contactgroupid == 0) { eval(makeerror('error_addbookcannotremove')); } if (!is_array($contactcheck)) { invalid('contacts'); } $groupcontents = $DB_site->query_first(" SELECT contacts FROM hive_contactgroup WHERE contactgroupid = $contactgroupid AND userid = $hiveuser[userid] "); $groupcontent = explode(',', $groupcontents['contacts']); foreach ($contactcheck as $bookid => $doit) { if ($doit == 'yes') { $key = array_search($bookid, $groupcontent); array_splice($groupcontent, $key, 1); } } $DB_site->query(" UPDATE hive_contactgroup SET contacts = '".addslashes(implode(',', $groupcontent))."' WHERE contactgroupid = $contactgroupid AND userid = $hiveuser[userid] "); eval(makeredirect("redirect_addbook_removeentries", "addressbook.view.php?contactgroupid=$contactgroupid")); } In the above code the variable $contactgroupid is taken from user supplied data. There are a few obstacles to bypass in order for there to be Code Execution, but it is nothing too complicated. http:///hivemail/addressbook.update.phpcmd=remove&contactgroupid =1%20--%20");phpinfo();@ob_start("&submit=1&contactcheck[]=1&con tactcheck[]=2 The above command would successfully set $contactgroupid to a value grater than zero, not cause an SQL Error, and eventually get executed @ line 299. It should be noted though that even if code execution isn't possible then SQL Injection within the same variable $contactgroupid is. This same type of issues takes place in a number of locations within HiveMail. http://hivemail/addressbook.add.php?cmd=quick&messageid=1");phpin fo();@ob_start("&popid=1&msgid=1 http://hivemail/folders.update.php?cmd=mark&folderid=0%20--%20%22) ;phpinfo();@ob_start(%22 The files calendar.event.php, index.php, pop.download.php, read.bounce.php, rules.block.php, language.php and possibly others contain vulnerable code very similar to that which I pointed out earlier. Cross Site Scripting & SQL Injection: Hivemail is vulnerable to cross site scripting because it makes use of unsanitized $_SERVER['PHP_SELF'] references. http://hivemail/index.php/%22%3E%3Cscript%3Ealert(document.cookie) ;%3C/script%3E Once logged in a malicious attacker could replace the code above with the variable folderid containing a malicious SQL statement and have it executed. Solution: The vendor was unresponsive to my contact attempts, and according to some of the people on the HiveMail forums the project has been fairly dormant as of late. http://forum.hivemail.com/showthread.php?p=26745 Until an updated version of HiveMail is released users are very strongly advised to not use this vulnerable application. Related Info: The original advisory can be found at the following location http://www.gulftech.org/?node=research&article_id=00098-02102006


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top