Xibo 1.2.2/1.4.1 - 'index.php?p' Directory Traversal

EDB-ID:

26955


Author:

Mahendra

Type:

webapps


Platform:

PHP

Date:

2013-07-18


Exploit Title: Xibo Directory Traversal Vulnerability
Exploit Author: Mahendra
Date: 2 April 2013
Vendor homepage: http://xibo.org.uk
References:
http://www.baesystemsdetica.com.au/Research/Advisories/Xibo-Directory-Traversal-Vulnerability-(DS-2013-00

############################
Affected Vendor: Spring Signage Ltd
Affected Software: Xibo
Affected Version: 1.2.2 and 1.4.1, previous version may also affected
Issue type: Directory Traversal
Release Date: 2 April 2013
Discovered by: Mahendra
Issue status: Patch available
############################

Description
---------------------
What is Xibo?
Xibo is a software package which provides a high quality digital signage system for free! Digital signage is essentially any form of digital display, such as a TV, which is used for showing notices, public announcements, advertisements, etc.
There are an ever increasing number of software packages that do this job – Xibo sets itself apart in both functionality and cost (Xibo is completely free!). The people behind the Xibo project believe that the software used to display content shouldn’t break the bank and shouldn’t be inflexible, unwieldy or out of date – and we are happy that Xibo is none of these things.
Xibo is community driven and open source which means that if there is something you don’t like, you are completely free to change it (or to get it changed by the community).
more details: http://xibo.org.uk/about/

Issue Summary
------------------
Directory traversal vulnerabilities occur when user input is used in the construction of a filename or directory path which is subsequently used in some system function. If the input is not correctly validated or directory permissions not correctly set, it may be possible to cause a different file to be accessed other than that intended. This issue was exploited by adding a null byte (%00) which resulted in the application ignoring the rest of the supplied value after the null byte.

Proof of Concept
--------------------
http://host/index.php?p=../../../../../../../../../../../../../../../../etc/passwd%00index&q=About&ajax=true&_=1355779988

The parameter true value will be different for each user.

Solution
-----------------
Upgrade to Xibo 1.4.2 or later.