Arbitrary File Upload & Stored XSS

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

 

www.sec-consult.com

 

=======================================================================

 

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