Re: dotproject <= 2.0.1 remote code execution

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm not sure I understand why this is a problem. As you have stated register_globals must be set to on before any of this can be triggered. In terms on register_globals being on by default, that hasn't been the case in PHP for quite some time.

Also, I am intrigued by the claim that 'protection.php' is vulnerable. There is no 'protection.php' anywhere in the dotProject tree.

As pointed out to you privately, the simple solution is to turn register_globals off.

Adam Donnison
Admin - dotProject

r.verton@xxxxxxxxx wrote:
dotproject <= 2.0.1 remote code execution
======================================

	Software: dotProject <= 2.0.1
   	Severity: Arbitrary code execution, Path/Information Disclosure
   	Risk: High
   	Author: Robin Verton <r.verton@xxxxxxxxx>
   	Date: Feb. 14 2006
   	Vendor: dotproject.net [contacted]

	Description:
	 dotProject is a volunteer supported Project Management application.

	Details:
	 The 'protection.php' script does not properly validate user-supplied input in the 'siteurl' parameter.
	 Some user-supplied input is not checked correctly so an attacker can include a remote php file and
	 execute arbitrary phpcode or arbitrary system command via eval().

	 Because there are over 10 Bugs I only post the vulnerable files + parameters which are not checked.
	 To exploit these vulnerables register_globals have to be set ON (default).

	 1) /includes/db_adodb.php?baseDir=[REMOTE INCLUDE]
2) /includes/db_connect.php?baseDir=[REMOTE INCLUDE] 3) /includes/session.php?baseDir=[REMOTE INCLUDE] 4) /modules/projects/gantt.php?dPconfig[root_dir]=[REMOTE INCLUDE] 5) /modules/projects/gantt2.php?dPconfig[root_dir]=[REMOTE INCLUDE] 6) /modules/projects/vw_files.php?dPconfig[root_dir]=[REMOTE INCLUDE] 7) /modules/admin/vw_usr_roles.php?baseDir=[REMOTE INCLUDE] 8) /modules/public/calendar.php?baseDir=[REMOTE INCLUDE] 9) /modules/public/date_format.php?baseDir=[REMOTE INCLUDE] 10) /modules/tasks/gantt.php?baseDir=[REMOTE INCLUDE]

	 There are also some path discolsure bugs:

	 Nearly ALL files in /db/ give out some nice php-errors by accessing them directly with the parameter
	 baseDir=foobar.

	 Then, if the /doc/ directory is not deleted (default) you can access to two varoius files which
	 disclose you some system informations:

	 1) /docs/phpinfo.php - A phpinfo() file.
2) /docs/check.php - Some more informations about the installed dotProject.

	Solution:
	 Turn register_globals OFF, delete the /docs/ dir and cover /db/ dir with an htaccess.

	Timeline:
	 24.01.2006 - Bugs found
	 26.01.2006 - Vendor Contacted
	 14.02.2006 - Publishing

	Credits:
	 Credits go to Robin Verton (r.verton [at] gmail [dot] com)


--
Adam Donnison                                  email: adam@xxxxxxxxxxx
Saki Computer Services Pty. Ltd.
93 Kallista-Emerald Road                        phone: +61 3 9752 1512
THE PATCH  VIC 3792    AUSTRALIA                fax:   +61 3 9752 1098

[Index of Archives]     [Linux Security]     [Netfilter]     [PHP]     [Yosemite News]     [Linux Kernel]

  Powered by Linux