SEC Consult Vulnerability Lab Security Advisory < 20170523-0 >
=======================================================================
title: Arbitrary File Upload & Stored XSS
product: InvoicePlane
vulnerable version: 1.4.10
fixed version: 1.5.2
CVE number: -
impact: High
homepage: invoiceplane.com
found: 2017-04-10
by: Jasveer Singh (Office Kuala Lumpur)
SEC Consult Vulnerability Lab
An integrated part of SEC Consult
Bangkok - Berlin - Linz - Luxembourg - Montreal - Moscow
Kuala Lumpur - Singapore - Vienna (HQ) - Vilnius - Zurich
=======================================================================
Vendor description:
-------------------
"InvoicePlane is a self-hosted open source application for managing your
quotes, invoices, clients and payments."
Source: invoiceplane.com
Business recommendation:
------------------------
By exploiting the vulnerabilities documented in this advisory, an attacker can
fully compromise the web server which has InvoicePlane installed. Potentially
sensitive invoice data might get exposed through this attack.
SEC Consult recommends not to attach InvoicePlane to the network until a
thorough security review has been performed by security professionals and all
identified issues have been resolved.
Vulnerability overview/description:
-----------------------------------
1. Arbitrary File Upload
An authenticated user can upload a malicious file to the webserver. It is
possible for an attacker to upload a script which is able to compromise the
webserver.
2. Stored Cross Site Scripting
This vulnerability allows an authenticated user to inject malicious client
side script which will be executed in the browser of users if they visit
the manipulated site.
Proof of concept:
-----------------
1. Arbitrary File Upload
Below URL is used to upload the malicious file through the attachment
segment.
URL : http:// $DOMAIN/index.php/invoices/view/$INVOICE-ID
2. Stored Cross Site Scripting
The following parameters have been found to be vulnerable against
stored cross site scripting. Furthermore, there exist many more
vulnerable parameters.
The following payload shows a simple alert message box:
URL : http:// $DOMAIN/index.php/clients/view/$Client-ID
METHOD : POST
PAYLOAD : client_name="onmouseover=prompt("XSS")>
URL : http:// $DOMAIN/index.php/index.php/users/form/$User-ID
METHOD : POST
PAYLOAD : user_name="onmouseover=prompt("XSS1")>
Vulnerable / tested versions:
-----------------------------
InvoicePlane version 1.4.10 has been tested. This version was the latest
at the time the security vulnerabilities were discovered.
Vendor contact timeline:
------------------------
2017-04-11: Contacting vendor through mail@invoiceplane.com
2017-04-11: Vendor requests security advisory to be shared over unencrypted
channel.
2017-04-23: Vendor released patch version 1.5.0 however not all
vulnerabilities were fixed properly.
2017-05-07: Patch (1.5.2) released by the vendor which fixes all issues
2017-05-23: Public release of security advisory.
Solution:
---------
Upgrade to InvoicePlane 1.5.2 as version 1.5.0 doesn't fix all the
identified vulnerabilities:
community.invoiceplane.com/t/topic/4258
Workaround:
-----------
None
Advisory URL:
-------------
www.sec-consult.com/en/Vulnerability-Lab/Advisories.htm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SEC Consult Vulnerability Lab
SEC Consult
Bangkok - Berlin - Linz - Luxembourg - Montreal - Moscow
Kuala Lumpur - Singapore - Vienna (HQ) - Vilnius - Zurich
About SEC Consult Vulnerability Lab
The SEC Consult Vulnerability Lab is an integrated part of SEC Consult. It
ensures the continued knowledge gain of SEC Consult in the field of network
and application security to stay ahead of the attacker. The SEC Consult
Vulnerability Lab supports high-quality penetration testing and the evaluation
of new offensive and defensive technologies for our customers. Hence our
customers obtain the most current information about vulnerabilities and valid
recommendation about the risk profile of new technologies.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Interested to work with the experts of SEC Consult?
Send us your application www.sec-consult.com/career/
Interested in improving your cyber security with the experts of SEC Consult?
Contact our local offices www.sec-consult.com/contact/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mail: research at sec-consult dot com
Web: www.sec-consult.com
Blog: blog.sec-consult.com
Twitter: twitter.com/sec_consult
EOF Jasveer Singh / @2017